2019独角兽企业重金招聘Python工程师标准>>>
从架构来整合学过的Hibernate 与 MyBatis
(一)Hibernate
(1)环境搭建
(2)配置hibernate.cfg.xml文件
(3)编写类与hibernate的映射文件
(4)Dao层实现通过对象操作数据库
//读取配置文件 Configuration cfg = new Configuration().configure(); //创建SessionFactory工厂SessionFactory factory = cfg.buildSessionFactory(); Session session = null; try{ session = factory.openSession(); //开启事务 session.beginTransaction(); User user = new User(str1,str2,20); //实体对象//操作函数session.save(user); //提交事务 session.getTransaction().commit(); }catch(Exception e){ e.printStackTrace(); //回滚事务 session.getTransaction().rollback(); }finally{ if(session != null){ if(session.isOpen()){ //关闭session session.close(); } } }
(二)MyBatis
(1)环境搭建
(2)配置Config.xml文件
(3)编写类与hibernate的映射文件
(4)Dao层实现通过对象操作数据库
//mybatis的配置文件String resource = "conf.xml";//使用类加载器加载mybatis的配置文件(它也加载关联的映射文件)InputStream is = Test1.class.getClassLoader().getResourceAsStream(resource);//构建sqlSession的工厂SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(is);//使用MyBatis提供的Resources类加载mybatis的配置文件(它也加载关联的映射文件)//Reader reader = Resources.getResourceAsReader(resource); //构建sqlSession的工厂//SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);//创建能执行映射文件中sql的sqlSessionSqlSession session = sessionFactory.openSession();// 映射sql的标识字符串,// me.gacl.mapping.userMapper是userMapper.xml文件中mapper标签的namespace属性的值,// getUser是select标签的id属性值,通过select标签的id属性值就可以找到要执行的SQLString statement = "me.gacl.mapping.userMapper.getUser";//映射sql的标识字符串//执行查询返回一个唯一user对象的sqlUser user = session.selectOne(statement, 1);