本文共 3237 字,大约阅读时间需要 10 分钟。
介绍:
它是一个插件,是一个持久化插件
帮我们简化数据库的操作
mybatis的好处就是可以自定义sql让sq变得很灵活
工程创建: mybatis-config.xml(这里是文件名随你起) 是mybatis的数据库和事务配置文件
数据库连接信息
事务管理
mapper 文件管理
每多一张表 就需要以下配置:
StudentMapper.xml 是针对student表做出的sql配置xml文件 //映射文件配置,数据库相关操作都在这个文件中
Student 类 是用来包装student表格的 POJO类 //对应的是你要操作的表,对应表中的相应数据
StudentMapper 接口 是对应studentMapper.xml 的功能接口 //实现 POJO类的接口
数据库连接xml文件:
数据库连接方法包装:
package com.sun.mybatis;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;import java.io.IOException;import java.io.InputStream;public class Mybatisconfig { public static SqlSessionFactory sqlSessionFactory; //这里用静态方法的原因是因为,用不了那么多链接一个就够了所以设置为静态类 static { String resource = "com/sun/mybatis/mybatis_config"; //用静态块是因为只要掉用类,就会启动实例块中的代码 try { InputStream inputStream = Resources.getResourceAsStream(resource); sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); } catch (IOException e) { e.printStackTrace(); } }}对应数据库表结构的类
package com.sun.mybatis;//用get 和set方法包装即可public class Student { private int sid; private String sname; private String address; private String email;}mybatis自定义sql的映射文件配置
映射文件对应的接口实现类:insert into student(sname,address,email) values(#{sname},#{address},#{email})
package com.sun.mybatis.dao;import com.sun.mybatis.Student;import java.util.List;public interface StudentMappr { public Student inste(int id); public int inster(Student student); //这里传进来的是对象,因为插入是数据库相对应的数据 //这里注意发挥类型和参数 public List数据操作:selectUserAll(); //查询放回值返回的是对象,因为有数据库相对应的对象 //这里的方法是集合查询 也就是可以多查 // 这里的Student代表返回出去的是都是Student对象}
package com.sun.mybatis;import com.sun.mybatis.dao.StudentMappr;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import java.util.List;public class Teat { public static void main(String[] args) { SqlSessionFactory sqlSessionFactory = Mybatisconfig.sqlSessionFactory; //创建sql绘画工厂对象 SqlSession sqlSession = sqlSessionFactory.openSession(); //将会话工厂类给sqlsession工厂 StudentMappr studentMappr = sqlSession.getMapper(StudentMappr.class); //创建动态实现类 //mybatis的运行过程,应该是 //1.创建工厂链接 //2.通过工厂sqlsession工厂类 中的方法在内存创建动态实现类 //3.通过映射文件找到相对应的实现类 //4.再通过实现类的名字找到相对应的实现方法,能找见方法是因为配置的映射中的标记名对应着的是实现类的方法名 ListstudentList=studentMappr.selectUserAll(); //这里是集合声明也是,集合相当于高级的数组所以也是同过循环取值 for (Student student : studentList) { System.out.println(student.toString()); } }}
转载地址:http://rsssl.baihongyu.com/