使用mybatis框架进行持久层开发
mybatis是支持普通sql查询,存储过程和高级映射的优秀持久层框架。
mybatis消除了几乎所有的jdbc代码和参数的手工设置以及对结果集的检索。
mybatis可以使用简单的xml或注解用于配置和原始映射,将接口和java的pojo(plain old java objects,普通的java对象)映射成数据库中的记录。
目录
使用mybatis框架进行持久层开发
你需要了解的知识点
1、什么是sqlsessionfactory?
2、mybatis框架的核心配置文件
3、mapper映射文件
使用
1、mybatis下载
2、创建实体类
3、创建属性文件jdbc.properties
4、创建xml映射配置文件
5、创建sql映射的xml文件
6、创建mapper接口
7、编写mybatis工具类
8、编写测试类
你可能会出现的问题
问题一:找不到mapper映射文件
问题二:mysql客户端版本过低
问题三:提示找不到userinfo
写在最后
你需要了解的知识点
1、什么是sqlsessionfactory?
sqlsessionfactory
是mybatis框架中十分重要的对象,它是单个数据库映射关系经过编译后的内存镜像,其主要作用是创建sqlsession。
sqlsessionfactory
对象的实例可以通过sqlsessionfactorybuilder对象来构建,而sqlsessionfactorybuilder则可以通过xml配置文件或一个预先定义好的configuration实例构建出sqlsessionfactory的实例
sqlsessionfactory对象是线程安全的,它一旦被创建,在整个应用执行期间都会存在。如果我们多次的创建同一个数据库的sqlsessionfactory,那么此数据库的资源将很容易被耗尽。为此,通常每一个数据库都会只对应一个sqlsessionfactory,所以在构建sqlsessionfactory实例时,建议使用单列模式。
2、mybatis框架的核心配置文件
在mybatis框架的核心配置文件中,元素是配置文件的根元素,其他元素都要在元素内配置。
3、mapper映射文件
在映射文件中,元素是映射文件的根元素,其他元素都是它的子元素。
使用
1、mybatis下载
在java或java web项目中添加mybatis框架后,就能对数据表进行crud操作了。
方法一:可以从官方网站: https://github.com/mybatis下载所需要的mybatis版本。
方法二:使用maven的直接加入依赖,需要mysql的驱动包、mybatis的驱动包
mysql
mysql-connector-java
8.0.18
org.mybatis
mybatis
3.4.6
注意这里的mysql的驱动包,根据你自己安装的mysql版本,使用mysql -v
查询,例如我的是8版本,所以用8版本的驱动包
2、创建实体类
在src目录下新建com.lomtom.mybatis.entity
包,并在其中创建实体类userinfo(对应数据表user_info)。userinfo类包含一些属性(对应数据表user_info的部分字段),以及与之对应的getxxx()和setxxx()方法,还可添加构造方法 。
当然你如果使用lombok可以不写他的getter、setter以及constructor。
/**
* @author: lomtom
* @date: 2020/4/20
* @time: 15:12
* @email: lomtom@qq.com
*/
@data
public class userinfo {
private integer id;
private string username;
private string password;
private date regdate;
}
3、创建属性文件jdbc.properties
在resources目录下创建属性文件jdbc.properties,保存数据库的连接信息。
是一个配置属性的元素,该元素通常用来将内部的配置外在化,即通过外部的配置来动态的替换内部定义的属性。例如,数据库的连接等属性,就可以通过典型的java属性文件中的配置来替换,
请根据自己mysql版本,确认之后再食用
1、mysql for version 8
jdbc.driverclassname=com.mysql.cj.jdbc.driver
jdbc.url=jdbc:mysql://localhost:3306/javaweb2?characterencoding=utf-8
jdbc.username=root
jdbc.password=123456
2、mysql for version 5
jdbc.driverclassname=com.mysql.jdbc.driver
jdbc.url=jdbc:mysql://localhost:3306/javaweb2?characterencoding=utf-8
jdbc.username=root
jdbc.password=123456
4、创建xml映射配置文件
在resources
目录下创建mybatis的xml配置文件mybatis-config.xml
,用于加载mysql的连接配置。
元素用于为配置文件中的java类型设置一个简短的名字,即设置别名。别名的设置与xml配置相关,其使用的意义在于减少全限定类名的冗余。
当pojo类过多时可以指定一个包名,mybatis 会在包名下面搜索需要的 java bean。每一个在包 中的 java bean,在没有注解的情况下,会使用 bean 的首字母小写的非限定类名来作为它的别名。若有注解,则别名为其注解值
元素用于对环境进行配置。mybatis的环境配置实际上就是数据源的配置,我们可以通过
元素配置多种数据源,即配置多种数据库。
5、创建sql映射的xml文件
在resources
包中创建sql映射的xml文件userinfomapper.xml。
insert into user_info(username, password, regdate)
values(#{username},#{password}, #{regdate})
delete from user_info where id = #{id}
update user_info set username = #{username}, password = #{password}, regdate = #{regdate} where id = #{id}
在上述sql映射文件中,
元素用于映射插入语句,
元素用于映射删除语句,
元素用于映射更新语句,