第四章 mybatis-springboot开发

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



    org.springframework.boot
    spring-boot-starter


    org.mybatis.spring.boot
    mybatis-spring-boot-starter
    1.1.1

        
    
    
        mysql
        mysql-connector-java
        5.1.41
    
    

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 findUser();
}

5)写测试类。这里省略了servie层

直接拷贝,SimpleController改名为MybatisController并修改其中的代码

    @Controller
public class MybatisController {
@Autowired
IUserMapper userMapper;

@RequestMapping("/mybatisTest")
public ModelAndView mybatis() {
    List 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> mapTest() {
        System.out.println("查询方法被调用");
        return tabUserMapper.findAllMap();

    }

接口

@Select("select * from tab_user")
public List> findAllMap();

注意事项

数据库配置中的com.mysql.cj.jdbc.Driver和serverTimezone=UTC:

作业

用jquery+springboot+mybatis实现用户注册、登录、查询所有用户列表功能。

你可能感兴趣的:(第四章 mybatis-springboot开发)