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/*.xml
3.在 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)