Mybatis和spring.docx
- 文档编号:7946610
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:96
- 大小:68.51KB
Mybatis和spring.docx
《Mybatis和spring.docx》由会员分享,可在线阅读,更多相关《Mybatis和spring.docx(96页珍藏版)》请在冰豆网上搜索。
Mybatis和spring
1.1MyBatis简介
MyBatis是一个可以自定义SQL、存储过程和高级映射的持久层框架。
MyBatis摒除了大部分的JDBC代码、手工设置参数和结果集重获。
MyBatis只使用简单的XML和注解来配置和映射基本数据类型、Map接口和POJO到数据库记录。
相对Hibernate和ApacheOJB等“一站式”ORM解决方案而言,Mybatis是一种“半自动化”的ORM实现。
需要使用的Jar包:
mybatis-3.0.2.jar(mybatis核心包)。
mybatis-spring-1.0.0.jar(与Spring结合包)。
下载地址:
http:
//ibatis.apache.org/tools/ibator
1.2MyBatis+Spring+MySql简单配置
1.2.1搭建Spring环境
1,建立maven的web项目;
2,加入Spring框架、配置文件;
3,在pom.xml中加入所需要的jar包(spring框架的、mybatis、mybatis-spring、junit等);
4,更改web.xml和spring的配置文件;
5,添加一个jsp页面和对应的Controller;
6,测试。
可参照:
1.2.2建立MySql数据库
建立一个学生选课管理数据库。
表:
学生表、班级表、教师表、课程表、学生选课表。
逻辑关系:
每个学生有一个班级;每个班级对应一个班主任教师;每个教师只能当一个班的班主任;
使用下面的sql进行建数据库,先建立学生表,插入数据(2条以上)。
更多sql请下载项目源文件,在resource/sql中。
Sql代码
1./* 建立数据库 */
2.CREATE DATABASE STUDENT_MANAGER;
3.USE STUDENT_MANAGER;
4.
5./***** 建立student表 *****/
6.CREATE TABLE STUDENT_TBL
7.(
8. STUDENT_ID VARCHAR(255) PRIMARY KEY,
9. STUDENT_NAME VARCHAR(10) NOT NULL,
10. STUDENT_SEX VARCHAR(10),
11. STUDENT_BIRTHDAY DATE,
12. CLASS_ID VARCHAR(255)
13.);
14.
15./*插入学生数据*/
16.INSERT INTO STUDENT_TBL (STUDENT_ID,
17. STUDENT_NAME,
18. STUDENT_SEX,
19. STUDENT_BIRTHDAY,
20. CLASS_ID)
21. VALUES (123456,
22. '某某某',
23. '女',
24. '1980-08-01',
25. 121546
26. )
/*建立数据库*/
CREATEDATABASESTUDENT_MANAGER;
USESTUDENT_MANAGER;
/*****建立student表*****/
CREATETABLESTUDENT_TBL
(
STUDENT_IDVARCHAR(255)PRIMARYKEY,
STUDENT_NAMEVARCHAR(10)NOTNULL,
STUDENT_SEXVARCHAR(10),
STUDENT_BIRTHDAYDATE,
CLASS_IDVARCHAR(255)
);
/*插入学生数据*/
INSERTINTOSTUDENT_TBL(STUDENT_ID,
STUDENT_NAME,
STUDENT_SEX,
STUDENT_BIRTHDAY,
CLASS_ID)
VALUES(123456,
'某某某',
'女',
'1980-08-01',
121546
)
创建连接MySql使用的配置文件mysql.properties。
Mysql.properties代码
1.jdbc.driverClassName=com.mysql.jdbc.Driver
2.jdbc.url=jdbc:
mysql:
//localhost:
3306/student_manager?
user=root&password=limingnihao&useUnicode=true&characterEncoding=UTF-8
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:
mysql:
//localhost:
3306/student_manager?
user=root&password=limingnihao&useUnicode=true&characterEncoding=UTF-8
1.2.3搭建MyBatis环境
顺序随便,现在的顺序是因为可以尽量的少的修改写好的文件。
1.2.3.1创建实体类:
StudentEntity
Java代码
1.public class StudentEntity implements Serializable {
2.
3. private static final long serialVersionUID = 3096154202413606831L;
4. private ClassEntity classEntity;
5. private Date studentBirthday;
6. private String studentID;
7. private String studentName;
8. private String studentSex;
9.
10. public ClassEntity getClassEntity() {
11. return classEntity;
12. }
13.
14. public Date getStudentBirthday() {
15. return studentBirthday;
16. }
17.
18. public String getStudentID() {
19. return studentID;
20. }
21.
22. public String getStudentName() {
23. return studentName;
24. }
25.
26. public String getStudentSex() {
27. return studentSex;
28. }
29.
30. public void setClassEntity(ClassEntity classEntity) {
31. this.classEntity = classEntity;
32. }
33.
34. public void setStudentBirthday(Date studentBirthday) {
35. this.studentBirthday = studentBirthday;
36. }
37.
38. public void setStudentID(String studentID) {
39. this.studentID = studentID;
40. }
41.
42. public void setStudentName(String studentName) {
43. this.studentName = studentName;
44. }
45.
46. public void setStudentSex(String studentSex) {
47. this.studentSex = studentSex;
48. }
49.}
publicclassStudentEntityimplementsSerializable{
privatestaticfinallongserialVersionUID=3096154202413606831L;
privateClassEntityclassEntity;
privateDatestudentBirthday;
privateStringstudentID;
privateStringstudentName;
privateStringstudentSex;
publicClassEntitygetClassEntity(){
returnclassEntity;
}
publicDategetStudentBirthday(){
returnstudentBirthday;
}
publicStringgetStudentID(){
returnstudentID;
}
publicStringgetStudentName(){
returnstudentName;
}
publicStringgetStudentSex(){
returnstudentSex;
}
publicvoidsetClassEntity(ClassEntityclassEntity){
this.classEntity=classEntity;
}
publicvoidsetStudentBirthday(DatestudentBirthday){
this.studentBirthday=studentBirthday;
}
publicvoidsetStudentID(StringstudentID){
this.studentID=studentID;
}
publicvoidsetStudentName(StringstudentName){
this.studentName=studentName;
}
publicvoidsetStudentSex(StringstudentSex){
this.studentSex=studentSex;
}
}
1.2.3.2创建数据访问接口
Student类对应的dao接口:
StudentMapper。
Java代码
1.public interface StudentMapper {
2.
3. public StudentEntity getStudent(String studentID);
4.
5. public StudentEntity getStudentAndClass(String studentID);
6.
7. public List
8.
9. public void insertStudent(StudentEntity entity);
10.
11. public void deleteStudent(StudentEntity entity);
12.
13. public void updateStudent(StudentEntity entity);
14.}
publicinterfaceStudentMapper{
publicStudentEntitygetStudent(StringstudentID);
publicStudentEntitygetStudentAndClass(StringstudentID);
publicList
publicvoidinsertStudent(StudentEntityentity);
publicvoiddeleteStudent(StudentEntityentity);
publicvoidupdateStudent(StudentEntityentity);
}
1.2.3.3创建SQL映射语句文件
Student类的sql语句文件StudentMapper.xml
resultMap标签:
表字段与属性的映射。
Select标签:
查询sql。
Xml代码
1.
xml version="1.0" encoding="UTF-8" ?
>
2.
DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http:
//mybatis.org/dtd/mybatis-3-mapper.dtd">
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
-- 查询学生,根据id -->
13.
14.
[CDATA[
15. SELECT * from STUDENT_TBL ST
16. WHERE ST.STUDENT_ID = #{studentID}
17. ]]>
18.
19.
20.
-- 查询学生列表 -->
21.
22.
[CDATA[
23. SELECT * from STUDENT_TBL
24. ]]>
25.
26.
27.
xmlversion="1.0"encoding="UTF-8"?
>
DOCTYPEmapperPUBLIC"-//mybatis.org//DTDMapper3.0//EN""http:
//mybatis.org/dtd/mybatis-3-mapper.dtd">
--查询学生,根据id-->
[CDATA[
SELECT*fromSTUDENT_TBLST
WHEREST.STUDENT_ID=#{studentID}
]]>
--查询学生列表-->
[CDATA[
SELECT*fromSTUDENT_TBL
]]>
1.2.3.4创建MyBatis的mapper配置文件
在src/main/resource中创建MyBatis配置文件:
mybatis-config.xml。
typeAliases标签:
给类起一个别名。
com.manager.data.model.StudentEntity类,可以使用StudentEntity代替。
Mappers标签:
加载MyBatis中实体类的SQL映射语句文件。
Xml代码
1.
xml version="1.0" encoding="UTF-8" ?
>
2.
DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http:
//mybatis.org/dtd/mybatis-3-config.dtd">
3.
4.
5.
6.
7.
8.
9.
10.
xmlversion="1.0"encoding="UTF-8"?
>
DOCTYPEconfigurationPUBLIC"-//mybatis.org//DTDConfig3.0//EN""http:
//mybatis.org/dtd/mybatis-3-config.dtd">
1.2.3.5修改Spring的配置文件
主要是添加SqlSession的制作工厂类的bean:
SqlSessionFactoryBean,(在mybatis.spring包中)。
需要指定配置文件位置和dataSource。
和数据访问接口对应的实现bean。
通过MapperFactoryBean创建出来。
需要执行接口类全称和SqlSession工厂bean的引用。
Xml代码
1.
-- 导入属性配置文件 -->
2. property-placeholder location="classpath: mysql.properties" /> 3. 4. 5.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Mybatis spring
![提示](https://static.bdocx.com/images/bang_tan.gif)