1、整合Mybatis并执行一个SQL
1、创建项目时引入mybatis启动器和jdbc启动器。
- mybatis-spring-boot-starter
- spring-boot-starter-jdbc
2、在yaml配置文件中配置mysql参数
#配置mybatis
spring:
datasource:
username: root
password: root
url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone = GMT
driver-class-name: com.mysql.jdbc.Driver
3、写mapper接口
@Mapper
@Repository
public interface StudentMapper {
}
@
Mapper
注解:
在springboot中,由于添加了mybatis的starter,此时mybatis的自动配置会生效,mybatis的自动配置里会扫描springboot的有效包路径下的带有@Mapper
注解的接口,然后根据里面的mybatis注解生成mapper代理类。代替了老式的xml映射。@
Repository
注解就不多了吧: @Repository
、@Service
、@Controller
和
@Component
将类标识为Bean。
4、 写mapper.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.qzh.mapper.StudentMapper">
这里写SQL
</mapper>
在mapper namespace
标签中和咱们刚刚写好的mapper接口映射上,才可以关联上mapper接口和mapper.xml。
4、 在yaml做mybatis的相关配置
#mybatis的相关配置
mybatis:
#mapper配置文件
mapper-locations: classpath:mapper/*.xml
type-aliases-package: com.qzh.pojo
#开启驼峰命名
configuration:
map-underscore-to-camel-case: true
mybatis.mapper-locations
是让springboot自动加载mapper目录下的所有xml文件。
mybatis.type-aliases-package
是给pojo起别名,这样我们在xml中编写SQL返回pojo时,就可不写全名。
mybatis.configuration.map-underscore-to-camel-case = true
是开启驼峰命名,比如student中有一个属性是deptId,可以自动匹配mysql中的dept_id列。
5、 编写一个查询sql
studentMapper.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.qzh.mapper.StudentMapper">
<select id="getStudentById" resultType=