从最开始的SSH(Struts+Spring+Hibernate),到后来的SMM(SpringMVC+Spring+MyBatis),到目前的S(SpringBoot),随着框架的不断更新换代,也为我们广大的程序猿提供了更多的方便,一起搭建一个从控制层到持久层的项目可能需要一两天的时间,但是采用SpringBoot的方式,我们可能只需要10分钟就能轻松完成一个web项目的搭建,下面我们介绍一下SpringBoot2.0整合MyBatis的方法
一、新建一个项目,引入相关依赖
加粗的为改项目主要引入的包依赖
二、新建一个实体类
public class User {
private Long id;
private String name;//姓名
private Integer age;//年龄
。。。
}
二、新建一个Dao层
public interface UserDao {
int addUser(User user);
int deleteUserById(Long id);
int updateUserById(User user);
User queryUserById(Long id);
List
}
三、新建MyBatis的sql操作文件
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
id, name, age
insert into t_user (id, name, age)
values (#{id},#{name},#{age});
delete from t_user where id=#{id}
update t_user set
id=#{id},
name=#{name},
age=#{age},
四、修改相关配置文件和MyBatis配置
@SpringBootApplication
@MapperScan("com.somta.springboot.dao")
public class Application {
public static void main(String [] args) {
SpringApplication.run(Application.class, args);
}
}
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false
username: root
password: 123456
mybatis:
mapper-locations: classpath*:mybatis/**/Mysql_*Mapper.xml
通过@MapperScan("com.somta.springboot.dao")指定Dao层的包路径,通过mapper-locations配置了MyBatis文件的扫描路径,达到对应映射的效果
五、编写单元测试类
/**
*
* @author 明天的地平线
*
* SpringBoot 之前的版本配置单元测试类时使用 @SpringApplicationConfiguration(Application.class)
* SpringBoot 1.5.9 改用@SpringBootTest(classes = Application.class)
*
*
*/
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes = Application.class)
public class MyBatisTest {
@Autowired
private UserDao userDao;
/**
* 新增用户
* @throws Exception
*/
@Test
public void testAddUser() throws Exception {
User user = new User();
user.setId(889L);
user.setName("zhangsan");
user.setAge(12);
userDao.addUser(user);
}
/**
* 删除用户
* @throws Exception
*/
@Test
public void testDelUser() throws Exception {
userDao.deleteUserById(889L);
}
/**
* 修改用户信息
* @throws Exception
*/
@Test
public void testUpdUser() throws Exception {
User user = new User();
user.setId(2L);
user.setName("zhangsan99");
user.setAge(122);
userDao.updateUserById(user);
}
/**
* 查询用户
* @throws Exception
*/
@Test
public void testQueryUser() throws Exception {
User user = userDao.queryUserById(2L);
System.out.println(user.getName());
}
/**
* 查询所有用户
* @throws Exception
*/
@Test
public void testQueryUserList() throws Exception {
List
for (User user : list) {
System.out.println(user.getName());
}
}
}
Git代码地址:https://gitee.com/Somta/SpringBoot/tree/master/SpringBoot-mybatis
原文地址:http://somta.com.cn/#/blog/view/b8333bea30ca4500abb01e470121ba14
本文由明天的地平线创作,如想了解更多更详细的内容,请关注一下公众号,公众号内将进行最新最实时的更新!