MyBatis入门程序
- 本人独立博客:https://chenjiabing666.github.io/
设计案例
实现向tedu_ums
数据库的t_users
数据表中插入数据。
开发步骤
1 创建项目DAY07-MyBatis-Sample
,生成web.xml
,在web.xml
中配置(2项),添加spring-webmvc
依赖,复制Spring配置文件,添加Tomcat运行环境;
2 添加新的依赖:mybatis
、mybatis-spring
、spring-jdbc
:
org.springframework
spring-jdbc
3.2.8.RELEASE
org.mybatis
mybatis
3.4.6
org.mybatis
mybatis-spring
1.3.2
以上依赖中,spring-jdbc
的版本需与spring-webmvc
保持一致!(同一个项目中,以spring-
作为前缀的依赖都应该使用相同版本)
3 创建实现类cn.tedu.spring.entity.User
,在该类中声明Integer id
、String username
、String password
属性,及相关方法;
4 设计持久层接口:创建cn.tedu.spring.mapper.UserMapper
接口,并在接口中添加抽象方法:
Integer reg(User user);
注意:增删改操作固定返回受影响的行数,在设计方法时,可以将返回值声明为Integer类型,或使用void表示无返回值也可以。
5 从FTP下载mybatis.zip
文件,将解压得到的EmpMapper.xml
重命名为UserMapper.xml
(推荐这样命名),然后在项目的src\main\resource
新建文件夹mappers
,将UserMapper.xml
复制到mappers
文件夹中;
6 编辑UserMapper.xml
文件:
INSERT INTO t_users (
username, password
) VALUES (
#{username}, #{password}
)
7 添加依赖:mysql-connector-xxxx
、dbcp
、junit
;
8 在src\main\resources
下配置db.properties
;
9 从此前的项目中复制spring-dao.xml
,在该配置文件中,至少配置了:加载db.properties
、BasicDataSource
10 在spring-dao.xml
中,配置:
11 编写测试类,添加测试方法:
@Test
public void testReg() {
AbstractApplicationContext ac
= new ClassPathXmlApplicationContext(
"spring-mvc.xml",
"spring-dao.xml");
UserMapper userMapper
= ac.getBean(
"userMapper", UserMapper.class);
User user = new User();
user.setUsername("Tom1");
user.setPassword("123456");
Integer affectedRows
= userMapper.reg(user);
System.out.println(
"affectedRows=" + affectedRows);
ac.close();
}
总结
在spring中配置mybatis的步骤:
- 配置扫描
xxmapper.xml
的MapperScannerConfigurer
- 配置
SqlSessionFactoryBean
,需要用到数据库连接池的数据源datasource
- 配置扫描
完整的依赖文件
pom.xml
org.springframework
spring-webmvc
3.2.8.RELEASE
org.springframework
spring-jdbc
3.2.8.RELEASE
org.mybatis
mybatis
3.4.6
org.mybatis
mybatis-spring
1.3.2
mysql
mysql-connector-java
5.1.28
commons-dbcp
commons-dbcp
1.4
junit
junit
4.12
- 完整的
db.properties
文件
url=jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf8
driver=com.mysql.jdbc.Driver
user=root
password=root
initSize=5
maxSize=10
- 完整的
spring-dao.xml
文件