java的一个基础的Mybatis例子(一)

java的一个基础的Mybatis例子

1.引包不多说了(可以看下面编辑器截图)

2.最基础的Mybatis配置步骤

  1.配置Mybatis的config.xml文件 (主要配置数据库信息,和需要加载那个映射文件xxMapper.xml) --(之后延伸) 其实之后都省略 1.数据库在spring配置,2.映射文件用约定的接口

  2.创建 表 和 类的映射关系(实体类)  

  3.映射文件 xxMapper.xml写增删改查的标签,在标签中写sql语句 (就是编写xxMapper.xml文件)

  4.编写测试类

----------------------------------------

一 . db.properties (数据库配置文件)

jdbc.driver = com.mysql.jdbc.Driver
jdbc.url = jdbc:mysql://localhost:3306/test
jdbc.username = root
jdbc.password = 89757
jdbc.port = 3306

二 . 在类路径下新建 (mybatis文件夹) 个人爱好,里面写mybatis配置文件和映射文件(config.xml接xxMapper.xml)

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">
<!-- 配置文件的根元素 -->
<configuration>
    <!-- 属性:定义配置外在化 -->
    <properties resource="db.properties"></properties>
    <!-- 类型名称:为一些类定义别名 -->
    <typeAliases></typeAliases>
    <!-- 类型处理器:定义Java类型与数据库中的数据类型之间的转换关系 -->
    <typeHandlers></typeHandlers>


    <!-- 环境:配置mybatis的环境 -->
    <environments default="development">
       <!-- 环境变量:可以配置多个环境变量,比如使用多数据源时,就需要配置多个环境变量 -->
       <environment id="development">
          <!-- 事务管理器 -->
          <transactionManager type="JDBC"></transactionManager>
          <!-- 数据源 -->
              <dataSource type="POOLED">
              <property name="driver" value="${jdbc.driver}"/>
              <property name="url" value="${jdbc.url}"/>
              <property name="username" value="${jdbc.username}"/>
              <property name="password" value="${jdbc.password}"/>
            </dataSource>
       </environment> 
    </environments>

    <!-- 映射器:指定映射文件或者映射类 -->
    <mappers>
        <mapper resource="mybatis/TestMapper.xml"/>
    </mappers>
</configuration>

 

mybatis/TestMapper.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.cc8w.entity.Teacher">
    <select id="queryOneTeacher" resultType="com.cc8w.entity.Teacher">
    select * from teacher where id = #{id}
    </select>
</mapper>

 

三 .创建 数据库表和 实体类. (例子是 teacher.java)

package com.cc8w.entity;

public class Teacher {
    private int ID=0;
    private String name = "";
    private int no=0;
    
    
    public int getNo() {
        return no;
    }
    public void setNo(int no) {
        this.no = no;
    }
    public Teacher() {
        
    }
    public Teacher(int id,String name) {
        this.ID = id;
        this.name = name;
        
    }
    public int getID() {
        return ID;
    }
    public void setID(int iD) {
        ID = iD;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public void sayHi(String hi) {
        System.out.println("Teach method sayHi:"+hi);
    }
    
    @Override
    public String toString() {
        return "Teacher [ID=" + ID + ", name=" + name + ", no=" + no + "]";
    }
    
    
    

}

数据库:

 

 

 四. 编写测试类 Test.java

package com.cc8w.test;

import java.io.IOException;
import java.io.InputStream;

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 com.cc8w.entity.Teacher;

public class Test {
    
    public static void main(String[] args) throws IOException {
        //1.加载配置文件
        String resource = "mybatis/config.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        SqlSessionFactory sqlSessionFactory =
        new SqlSessionFactoryBuilder().build(inputStream);
        
        //2.获取SqlSession-->类似于数据库连接 Connection
        SqlSession session = sqlSessionFactory.openSession();
        
        //3.执行XXMapper.xml中映射的sql语句
        String stm = "com.cc8w.entity.Teacher.queryOneTeacher";
        Teacher t = session.selectOne(stm, 1);
        System.out.println(t);
        
        
        
    }

}

 

 

结果: 

 

posted @ 2020-04-26 11:36  与f  阅读(753)  评论(0编辑  收藏  举报