欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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,目录结构如下

  mybatis学习使用1

 代码

user.java

mybatis学习使用1
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;
    }
}
view code

 

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的配置查看官方文档主要如下:

mybatis学习使用1

mybatis学习使用1