mybatis框架 主要是对数据库进行操作的 编写sql语句 使我们对数据库的crud操作更加简洁方便!!
1.使用mybatis框架 进行第一个项目 查询数据库 并返回数据 :(简单)
(1)搭建 mybatis框架环境: 所使用的jar包
(2) 编写实体类 要与数据库中的字段对应 (我的实体类名称叫 Teacher);
1 package com.hxzy.mybatis.pojo; 2 3 import lombok.Data; 4 //这里使用了lombok插件 免去了set get 方法 5 @Data 6 public class Teacher { 7 private Integer t_id; 8 private String t_name; 9 private String t_address; 10 }
(3).编写 sqlMapper的xml文件 (teacherMapper.xml)
1 <?xml version="1.0" encoding="UTF-8" ?> 2 <!DOCTYPE mapper 3 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 4 "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 5 <!--配置teacher的xml文件--> 6 7 <!-- 8 namespace:指定该文件的的唯一标识 路径为实体类对应的全路径 名字是可以随意起名的 但最好规范 9 resultType:指定返回结果的类型 如果是对象的话 需要写全类名 10 parameterType :指定参数的类型 11 如果有参数的话 比如 select * from student where s_id = #{id} 12 jdbc 用的是 ?号占位符 而mybatis 用的是#{里面写参数} 13 --> 14 <mapper namespace="Teacher"> 15 <select id="one_query" resultType="com.hxzy.mybatis.pojo.Teacher" parameterType="int"> 16 select * from teacher 17 </select> 18 </mapper>
(4). 编写工厂类 用来返回SqlSessionFactory对象
package com.hxzy.mybatis.entity; import org.apache.ibatis.annotations.Results; 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 java.io.Reader; public class SqlSession_entity { private static Reader reader; private static SqlSessionFactory factory; static { //加载mybatis核心配置文件 try { reader = Resources.getResourceAsReader("mybatis_cnfg.xml"); }catch (Exception e){ System.out.println(e); } factory = new SqlSessionFactoryBuilder().build(reader); }
//调用这个方法就会返回一个Sqlsession对象 public static SqlSession getSession(){ return factory.openSession(); } }
(5) 测试 (Test_mybatis)
package com.hxzy.mybatis.test; import com.hxzy.mybatis.entity.SqlSession_entity; import com.hxzy.mybatis.pojo.Teacher; import org.apache.ibatis.session.SqlSession; import org.junit.Test; public class Test_mybatis { @Test public void test1(){ /** * 普通的查询 */ //得到SqlSession SqlSession sqlSession = SqlSession_entity.getSession(); //创建sql语句 String sql = "Teacher.one_query"; Teacher teacher = sqlSession.selectOne(sql); System.out.println(teacher); //关闭 sqlSession.close(); } }