idea–>File–>spring Initializr
在接下来的页面当中,选择web,然后勾上Spring web
接着选择侧边栏的SQL,把JDBC API 和MySQL Driver勾选上
点击finish之后,项目的初始结构就是这个样子了
接着我们需要在springboot核心配置文件中写关于JDBC的配置,并进行连接测试,以及整合mybatis的关键性配置,分两步走。
- 首先第一步是:
编写jdbc配置文件信息(Application.properties):
注意如果是mysql8就需要加上serverTimezone=UTC的设置,不然报错
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC&userUnicode=true&characterEncoding=utf-8
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
测试jdbc连接:
package com.lhh.mybatis_demo;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import javax.sql.DataSource;
import java.sql.SQLException;
@SpringBootTest
class MybatisDemoApplicationTests {
@Autowired
private DataSource dataSource;
@Test
void contextLoads() throws SQLException {
System.out.println(dataSource.getClass());
System.out.println(dataSource.getConnection());
}
}
运行结果
- 接着第二步是(application.properties):
在springboot核心配置文件中整合mybatis
#整合mybatis
mybatis.type-aliases-package=com.lhh.pojo
mybatis.mapper-locations=classpath:mybatis/mapper/*.xml
接下来写对应的mapper接口和mapper接口的映射文件即可。
UserMappper.java
package com.lhh.mapper;
import com.lhh.pojo.User;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface UserMapper {
/**
* 获得用户列表
*
* @return 用户列表
*/
List<User> listUser();
}
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="com.lhh.mapper.UserMapper">
<!--结果集映射到实体类当中-->
<resultMap id="result" type="com.lhh.pojo.User">
<result column="user_id" property="userId" jdbcType="INTEGER"></result>
<result column="user_name" property="userName" jdbcType="VARCHAR"></result>
<result column="user_nickname" property="userNickname" jdbcType="VARCHAR"></result>
<result column="user_email" property="userEmail" jdbcType="VARCHAR"></result>
<result column="user_url" property="userUrl" jdbcType="VARCHAR"></result>
<result column="user_avatar" property="userAvatar" jdbcType="VARCHAR"></result>
<result column="user_last_login_ip" property="userLastLoginIp" jdbcType="VARCHAR"></result>
<result column="user_register_ime" property="userRegisterTime" jdbcType="TIMESTAMP"></result>
<result column="user_last_login_time" property="userLastLoginTime" jdbcType="TIMESTAMP"></result>
<result column="user_status" property="userStatus" jdbcType="INTEGER"></result>
</resultMap>
<!--sql片段,提高复用-->
<sql id="selectSagement">
user_id, user_name, user_pass, user_nickname, user_email, user_url, user_avatar,
user_last_login_ip, user_register_time, user_last_login_time, user_status
</sql>
<!--查询所有用户-->
<select id="listUser" resultMap="result">
select
<include refid="selectSagement"></include>
from user
</select>
</mapper>
访问的表:
运行结果如下: