小言_互联网的博客

SpringBoot(3)-整合mybaties

285人阅读  评论(0)

springBoot整合mybaties

1、首先创建spring-initial的maven的项目,勾选项目中的springweb框架的使用。

2、在项目中添加起步依赖:

<!--mybatis起步依赖-->
        <!--这个起步依赖是由Mybaties提供的-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.0.1</version>
        </dependency>

3、添加数据库的连接驱动依赖:

<!--数据库的连接驱动-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>

4、需要在resource文件夹中添加链接数据库的资源文件:

# 数据库的连接信息:
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/pinyougoudb?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT
spring.datasource.username=root
spring.datasource.password=root

其中在配置数据源信息的时候,会出现

The server time zone value ‘???’ is unrecognized or represents more than one time zone.

的错误,该错误的产生是因为数据库的时区设置问题,需要调整时区:添加“&serverTimezone=GMT“即可;

5、既然要访问数据库,那么就应该创建数据库的一张表,并且先表示出该表格的pojo对象。

实体bean,也就是该表对应的牌pojo类:

public class User {
    // 主键
    private Long id;
    // 用户名
    private String username;
    // 密码
    private String password;
    // 姓名
    private String name;
    
    //省略get和set方法,toString方法
}

6、需要创建mapper类:书写sql语句:

首先需要编写mapper的接口:也就是最简单的查询所有:注意一定要书写上@Mapper的注解,这样才能扫描到数据,往常的SSM框架没有在dao层接口上写注解;

@Mapper
public interface UserMapper {
    List <User> queryUserList();
}
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="cmst.cug.mapper.UserMapper">
    <select id="queryUserList" resultType="User">
        select * from user
    </select>
</mapper>

7、在application.properties中添加mybatis的信息

之前是在使用xml文件配置,在Spring中是将包扫描放在了properties中:也就是加载pojo和mapper映射文件

#spring集成Mybatis环境
#pojo别名扫描包
mybatis.type-aliases-package=cmst.cug.domain
#加载Mybatis映射文件
mybatis.mapper-locations=classpath:mapper/*Mapper.xml

8、编写controller层:测试结果:

@Controller
public class MybatiesController {
    @Autowired
    private UserMapper userMapper;
    @RequestMapping("/queryUser")
    @ResponseBody
    public List<User> queryUser(){
        List<User> users = userMapper.queryUserList();
        return users;
    }
}

测试的结果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fVDZkpNL-1570182650454)(img\3.png)]

= userMapper.queryUserList();
return users;
}
}


测试的结果:

![\[外链图片转存中...(img-fVDZkpNL-1570182650454)\]](https://img-blog.csdnimg.cn/20191004175130289.png)



9、后期写springboot+mybaties与ssm之间异同。

转载:https://blog.csdn.net/qq_39817135/article/details/102083415
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场