從架構來整合學過的Hibernate 與 MyBatisjava
(一)Hibernate sql
(1)環境搭建數據庫
(2)配置hibernate.cfg.xml文件session
(3)編寫類與hibernate的映射文件mybatis
(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(); } } }
(二)MyBatisapp
(1)環境搭建函數
(2)配置Config.xml文件ui
(3)編寫類與hibernate的映射文件spa
(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的sqlSession SqlSession session = sessionFactory.openSession(); // 映射sql的標識字符串, // me.gacl.mapping.userMapper是userMapper.xml文件中mapper標籤的namespace屬性的值, // getUser是select標籤的id屬性值,經過select標籤的id屬性值就能夠找到要執行的SQL String statement = "me.gacl.mapping.userMapper.getUser";//映射sql的標識字符串 //執行查詢返回一個惟一user對象的sql User user = session.selectOne(statement, 1);