安装MySQL Server
安装MySQL Workbench
安装过程略。。。
Mybatis的核心组件:
SqlSessionFactory:用于创建SqlSessionFactory工厂类。
SqlSession:Mybatis的核心组件,用于数据库执行SQL
主配置文件:XML配置文件,可以对Mybatisde底层作出详细的配置
在SpringBoot中自动的创建SqlSessionFactory,自动初始化SqlSession,自动整合配置文件,前三个虽然是核心,但不用在写代码。
Mapper接口:就是DAO接口,在Mybatis中习惯性的称之为Mapper
Mapper映射器:用于编写SQL,并将SQL和实体类映射的组件,采用XML,注解实现
示例:对用户表进行增删改查。
用户表中salt是对密码中加入字符串然后对拼接号的字符串加密。
在写代码之前先到入Mybatis的包。选择最高版本
https://mvnrepository.com/
即便Mybatis自动配置,但是Mybatis不知道数据库的自动配置的路径什么,启动的最大连接。直接在Application.properties配置
首先需要写的是实体类,实体类封装表中的数据,然后才可以操作。
toString()方法打印对象看数据的时候比较方便。
访问数据库的时候,在dao中写入主键,通常叫Mapper,而且只写接口不需要写实现类。Spring容器能够装配Bean通产需要写入注解@Repository
,或者是Mybatis标识这个bean,也可以使用@Mapper
。UserMapper中的方法根据后面需要添加方法。
我们需要一个配置文件,为它的每一个方法提供它所需要的SQL,然后这样的话Maybatis提供所需要的实现类。
Mybatis的结构:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.mybatis.example.BlogMapper">
<select id="selectBlog" resultType="Blog">
select * from Blog where id = #{id}
</select>
</mapper>
通过select中id可以知道这个select是为selectById这个方法服务的。
还需要ResultType是说明经过select操作之后返回的类型是什么,按理说应该是报名和全限定名,但是因为下面中application.properties中有声明,所以前面的包名省略了。
为了以后修改方便,提炼出
插入的时候需要声明需要添加的元素的类型,如果参数是一个简单的比如String username或者 String email时候不需要声明添加的类型,但是如果参数是User user这样一个Bean的时候就需要ParameterType
还需要告诉id的字段对应的属性名是什么,通过keyProperType
注意一一对应,不要缺少,否则后面会出现数据问题。
更新