mybatis学习使用1
程序员文章站
2022-03-26 09:25:37
1、mybatis是一款优秀的持久层框架,使用起来比较简单 1.1我们首先来看一个小demo,目录结构如下 代码 User.java package com.rookie.bigdata.domain; import lombok.Data; import java.io.Serializable; ......
1、mybatis是一款优秀的持久层框架,使用起来比较简单
1.1我们首先来看一个小demo,目录结构如下
代码
user.java
package com.rookie.bigdata.domain; import lombok.data; import java.io.serializable; /** * @author * @date 2018/10/21 */ //data注解可以省略get和set方法 @data public class user implements serializable{ // 用户标识 private integer id; // 用户姓名 private string name; // 用户性别 private string sex; // 用户年龄 private integer age; public user() { super(); } public user( string name, string sex, integer age) { super(); this.name = name; this.sex = sex; this.age = age; } }
usermapper.java
package com.rookie.bigdata.mapper; import com.rookie.bigdata.domain.user; /** * @author liuxili * @date 2018/10/21 */ public interface usermapper { void save(user user); }
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.rookie.bigdata.mapper.usermapper"> <insert id="save" parametertype="com.rookie.bigdata.domain.user" usegeneratedkeys="true"> insert into bs_user(name,sex,age) values(#{name},#{sex},#{age}) </insert> </mapper>
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"> <!-- xml 配置文件包含对 mybatis 系统的核心设置 --> <configuration> <environments default="mysql"> <!-- 环境配置,即连接的数据库。 --> <environment id="mysql"> <!-- 指定事务管理类型,type="jdbc"指直接简单使用了jdbc的提交和回滚设置 --> <transactionmanager type="jdbc"/> <!-- datasource指数据源配置,pooled是jdbc连接对象的数据源连接池的实现。 --> <datasource type="pooled"> <property name="driver" value="com.mysql.jdbc.driver"/> <property name="url" value="jdbc:mysql://127.0.0.1:3306/mybatis"/> <property name="username" value="root"/> <property name="password" value="root"/> </datasource> </environment> </environments> <!-- mappers告诉了mybatis去哪里找持久化类的映射文件 --> <mappers> <mapper resource="mapper/usermapper.xml"/> </mappers> </configuration>
apptest.java
package com.rookie.bigdata; import static org.junit.assert.asserttrue; import com.rookie.bigdata.domain.user; import com.rookie.bigdata.mapper.usermapper; import org.apache.ibatis.io.resources; import org.apache.ibatis.session.sqlsession; import org.apache.ibatis.session.sqlsessionfactory; import org.apache.ibatis.session.sqlsessionfactorybuilder; import org.junit.test; import java.io.ioexception; import java.io.inputstream; /** * unit test for simple app. */ public class apptest { @test public void test1() throws ioexception { // 读取mybatis-config.xml文件 inputstream inputstream = resources.getresourceasstream("mybatis-config.xml"); // 初始化mybatis,创建sqlsessionfactory类的实例 sqlsessionfactory sqlsessionfactory = new sqlsessionfactorybuilder() .build(inputstream); // 创建session实例 sqlsession session = sqlsessionfactory.opensession(); // 创建user对象 user user = new user("admin", "男", 26); // 插入数据 usermapper mapper = session.getmapper(usermapper.class); mapper.save(user); // 提交事务 session.commit(); // 关闭session session.close(); } }
主要代码如上,测试即可直接向数据库中插入数据
1.2对于上面的demo,我们来介绍一下mybatis的配置文件结构,如下:
<?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> <properties> <!--properties属性--> </properties> <settings> <!--settings设置--> </settings> <typealiases> <!--类型别名--> </typealiases> <typehandlers> <!--类型处理器--> </typehandlers> <!--对象工厂--> <objectfactory type="" ></objectfactory> <plugins> <!--插件--> </plugins> <environments default="mysql"> <!-- 环境配置,即连接的数据库。 --> <environment id="mysql"> <!-- 指定事务管理类型,type="jdbc"指直接简单使用了jdbc的提交和回滚设置 --> <transactionmanager type="jdbc"/> <!-- datasource指数据源配置,pooled是jdbc连接对象的数据源连接池的实现。 --> <datasource type="pooled"> <property name="driver" value="com.mysql.jdbc.driver"/> <property name="url" value="jdbc:mysql://127.0.0.1:3306/mybatis"/> <property name="username" value="root"/> <property name="password" value="root"/> </datasource> </environment> </environments> <!--数据库厂商标志--> <databaseidprovider type=""></databaseidprovider> <!-- mappers告诉了mybatis去哪里找持久化类的映射文件 --> <mappers> <!--映射器--> </mappers> </configuration>
上面的demo只不过是这个配置文件的简化版本
对于properties的属性配置,我们可以对上面的demo中的配置做如下更改,
在classpath下面添加properties文件,如下
db.properties
driver=com.mysql.jdbc.driver url=jdbc:mysql://127.0.0.1:3306/mybatis username=root password=root
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"> <!-- xml 配置文件包含对 mybatis 系统的核心设置 --> <configuration> <properties resource="db.properties"> <environments default="mysql"> <!-- 环境配置,即连接的数据库。 --> <environment id="mysql"> <!-- 指定事务管理类型,type="jdbc"指直接简单使用了jdbc的提交和回滚设置 --> <transactionmanager type="jdbc"/> <!-- datasource指数据源配置,pooled是jdbc连接对象的数据源连接池的实现。 --> <datasource type="pooled"> <property name="driver" value="${driver}"/> <property name="url" value="${url}"/> <property name="username" value="${username}"/> <property name="password" value="${password}"/> </datasource> </environment> </environments> <!-- mappers告诉了mybatis去哪里找持久化类的映射文件 --> <mappers> <mapper resource="mapper/usermapper.xml"/> </mappers> </configuration>
setting的配置查看官方文档主要如下:
上一篇: 027.1 反射技术 Class
下一篇: Java面试笔记一
推荐阅读