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); } }
结果: