https://blog.csdn.net/zmx729618/article/details/80773887
优雅的使用mybatis-spring-boot-starter
我的工程:D:\springboot\demo-web-mybatis
拷贝原来的demo-web1顺着以下思路进行构建
思路: 一是引入mybatis-starter使springboot与mybatis集成
二是完成连接数据库
1)pom.xml 主要是引入mybatis-spring-boot-starter
<!-- mybatis新增 begin-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.1.1</version>
</dependency>
<!-- 高版本适用
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency> -->
<!-- mysql驱动 phpstudy适用-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.41</version>
</dependency>
<!--mybatis end -->
<!--mybatis end -->
2)application.properties 添加相关配置
mybatis配置主要分两部分,一部分是为实体类配置别名,另一部分是扫描mapper所有的包
(配置数据库连接及设置pojo所有的包,定义别名)
springboot会自动加载spring.datasource.*相关配置,数据源就会自动注入到sqlSessionFactory中,sqlSessionFactory会自动注入到Mapper中,对了你一切都不用管了,直接拿起来使用就行了。
#mybatis add
mybatis.type-aliases-package=com.neuedu.domain
#高版本适用
#spring.datasource.driverClassName = com.mysql.cj.jdbc.Driver
#phpstudy用下面这个配置
spring.datasource.driverClassName = com.mysql.jdbc.Driver
spring.datasource.url = jdbc:mysql://localhost:3306/mysql?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC
spring.datasource.username = root
spring.datasource.password = mysql
3)在启动类中添加对mapper包扫描@MapperScan
@SpringBootApplication
@MapperScan("com.neuedu.mapper")
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
4)开发Mapper,IUserMapper.java放到com.neuedu.mapper包下
public interface IUserMapper {
@Select("select * from t_user ")
public List<User> findUser();
}
5)写测试类。这里省略了servie层
直接拷贝,SimpleController改名为MybatisController并修改其中的代码
@Controller
public class MybatisController {
@Autowired
IUserMapper userMapper;
@RequestMapping("/mybatisTest")
public ModelAndView mybatis() {
List<User> userlist=userMapper.findUser();
System.out.println(userlist.size());
ModelAndView mav = new ModelAndView();
mav.addObject("msg", userlist.size());
mav.setViewName("hello");
return mav;
}
}
6)测试:启动工程后在浏览器输入
http://localhost/haha/mybatisTest
ok!
补充
通过写法:返回map(表之间有无关联都适用,多表关联时特别简便)
controller
@RequestMapping("/mapTest")
public List<Map<String,Object>> mapTest() {
System.out.println("查询方法被调用");
return tabUserMapper.findAllMap();
}
接口
@Select("select * from tab_user")
public List<Map<String, Object>> findAllMap();
注意事项
数据库配置中的com.mysql.cj.jdbc.Driver和serverTimezone=UTC:
作业
用jquery+springboot+mybatis实现用户注册、登录、查询所有用户列表功能。
网友评论