1.引入Mybatis、MySQL依赖
注意:这里不引入spring-boot-starter-jdbc依赖,是由于mybatis-spring-boot-starter中已经包含了此依赖。
        <!-- springboot,mybatis 整合包 -->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.2</version>
        </dependency>
        <!--mysql-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.46</version>
        </dependency>MyBatis-Spring-Boot-Starter依赖将会提供如下:
- 自动检测现有的DataSource。
 - 将创建并注册SqlSessionFactory的实例,该实例使用SqlSessionFactoryBean将该DataSource作为输入进行传递。
 - 将创建并注册从SqlSessionFactory中获取的SqlSessionTemplate的实例。
 - 自动扫描您的mappers,将它们链接到SqlSessionTemplate并将其注册到Spring上下文,以便将它们注入到您的bean中。
 
就是说,使用了该Starter之后,只需要定义一个DataSource即可(application.properties中可配置),它会自动创建使用该DataSource的SqlSessionFactoryBean以及SqlSessionTemplate。会自动扫描你的Mappers,连接到SqlSessionTemplate,并注册到Spring上下文中。
2.配置数据库连接:
在 application.properties 中添加:
#数据连接
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=root123
# mybatis 配置
mybatis.config-location=classpath:mybatis/mybatis-config.xml
mybatis.mapper-locations=classpath:mybatis/mapper/*.xml3.在 src/main/resources 下创建 mybatis 文件夹,并在 mybatis 文件夹中创建 "mybatis-config.xml" 配置文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <settings>
        <!-- 获取数据库自增主键值 -->
        <setting name="useGeneratedKeys" value="true"/>
        <!-- 使用列别名替换列名,默认为 true -->
        <setting name="useColumnLabel" value="true"/>
        <!-- 开启驼峰命名转换:Table(create_time) => Entity(createTime) -->
        <setting name="mapUnderscoreToCamelCase" value="true"/>
    </settings>
</configuration>mybatis 文件夹下再创建一个 "mapper" 文件夹,里边存放 Mpper 接口对应的 mapper 映射文件。
4.测试
4.1建表
CREATE TABLE t_user(
u_id INT PRIMARY KEY auto_increment COMMENT "ID",
u_name VARCHAR(20) NOT NULL COMMENT "用户姓名"
)COMMENT="用户"4.2实体类
package club.lygangdai.pojo;
public class User {
    private Integer uId;
    private String uName;
}此处省略setter和getter
4.3Mapper接口
package club.lygangdai.dao;
import club.lygangdai.pojo.User;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface UserDao {
    int insertUser(User user);
    User getUserById(Integer uid);
    int updateUser(User user);
    int deleteUserById(Integer uid);
}Mapper 接口需要添加 @Mapper 注解,如果不想使用该注解,可以在启动类上使用 @MapperScan 配置 Mapper 接口路径
@SpringBootApplication
@MapperScan("club.lygangdai.dao")
public class SpringbootMybatisJspApplication {
    public static void main(String[] args) {
        SpringApplication.run(SpringbootMybatisJspApplication.class, args);
    }
}
mybatis/mapper/UserMapper.xml :
<?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="club.lygangdai.dao.UserDao">
    <insert id="insertUser" parameterType="club.lygangdai.pojo.User">
        insert into t_user(u_name) values(#{uName})
    </insert>
    <select id="getUserById" parameterType="java.lang.Integer" resultType="club.lygangdai.pojo.User">
        select u_id,u_name from t_user where u_id = #{uId}
    </select>
    <update id="updateUser" parameterType="club.lygangdai.pojo.User">
        update t_user set u_name = #{uName} where u_id = #{uId}
    </update>
    <delete id="deleteById" parameterType="java.lang.Integer">
        delete from t_user where u_id = #{uId}
    </delete>
</mapper>4.4测试
4.4.1创建controller
@Controller
@RequestMapping("user")
public class UserController {
    @Resource
    private UserDao userDao;
    @RequestMapping(value = "getUser",produces="text/html;charset=UTF-8")
    @ResponseBody
    public User getUser(){
        User user = userDao.getUserById(1);
        return user;
    }
}
注:返回的是json格式,我之前已做配置
转json请看https://blog.csdn.net/qq_40369944/article/details/83898752
数据库添加一条默认数据

查询结果:

                
            
        
            
评论 (0)