這篇文章主要講解了“如何使用Hibernate,MyBatis,Bee框架”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“如何使用Hibernate,MyBatis,Bee框架”吧!
貢覺網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)建站,貢覺網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為貢覺上千提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)營銷網(wǎng)站建設(shè)要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的貢覺做網(wǎng)站的公司定做!
一、Hibernate入門實(shí)例
1.1 代碼例子
import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; public class Client { public static void main(String[] args) { SessionFactory sf = new Configuration().configure().buildSessionFactory(); //為什么要有這種類似模板的語句 Session s = null; Transaction t = null; try{ //準(zhǔn)備數(shù)據(jù) UserModel um = new UserModel(); um.setUuid("1"); um.setUserId("id1"); um.setName("name1"); s = sf.openSession(); //為什么要有這種類似模板的語句 t = s.beginTransaction(); //為什么就一個(gè)語句s.save(um),也需要顯示聲明事務(wù) s.save(um); t.commit(); //為什么就一個(gè)語句s.save(um),也需要顯示提交事務(wù) }catch(Exception err){ t.rollback(); err.printStackTrace(); }finally{ s.close(); } } }
1.2 配置xxx.hbm.xml
1:與被描述的類同名 ,如:UserModel.hbm.xml
2:存放位置與所描述類存放在同一文件夾下
3:主要有如下四部分配置 :
(1)類和表的映射
(2)主鍵的映射
(3)類的屬性和DB中字段的映射
(4)關(guān)系的映射
1.3 日志不夠人性化, 看不懂
測試:直接在Elipse里面運(yùn)行Client文件即可,運(yùn)行結(jié)束,你將會(huì)看到在console輸出:“Hibernate: insert into tbl_user (userId, name, age, uuid) values (?, ?, ?, ?)”,打開數(shù)據(jù)庫的數(shù)據(jù)表,你會(huì)看到一條值已經(jīng)加入了。
參考:https://www.jb51.net/article/123469.htm
二、MyBatis入門實(shí)例
2.1 代碼例子
9 import org.apache.ibatis.session.SqlSession; 10 import org.apache.ibatis.session.SqlSessionFactory; 11 import org.apache.ibatis.session.SqlSessionFactoryBuilder; //插入用戶 55 public void testInsertUser(){ 56 SqlSessionFactory sqlSessionFactory = SqlSessionFactoryUtils.getSqlSessionFactory();//1 這種代碼,可以不用程序員寫嗎 57 SqlSession sqlSession = sqlSessionFactory.openSession();//2 這種代碼,可以不用程序員寫嗎 58 59 User user = new User(); 60 user.setUsername("貂蟬"); 61 user.setSex("0"); 62 user.setBirthday(new Date()); 63 user.setAddress("呂布"); 64 65 //執(zhí)行插入語句 66 sqlSession.insert("user.insertUser",user); 67 //提交事務(wù) 68 sqlSession.commit(); //3 這種代碼,可以不用程序員寫嗎 69 //釋放資源 70 sqlSession.close(); //4 這種代碼,可以不用程序員寫嗎 71 }
public class SqlSessionFactoryUtils { 2 private SqlSessionFactoryUtils(){} 3 4 private static class SqlSessionFactoryInstance{ 5 6 public static SqlSessionFactory sqlSessionFactory; 7 8 static { 9 try { 10 sqlSessionFactory = new SqlSessionFactoryBuilder().build(Resources.getResourceAsStream("SqlMapConfig.xml")); 11 } catch (IOException e) { 12 e.printStackTrace(); 13 } 14 } 15 } 16 17 public static SqlSessionFactory getSqlSessionFactory(){ 18 return SqlSessionFactoryInstance.sqlSessionFactory; 19 } 20 21 }
2.2 寫mapper配置文件
創(chuàng)建UserMapper.xml映射文件
那么簡單, 還要寫SQL語句???。?/p>
37 <insert id="insertUser" parameterType="com.cenobitor.pojo.User">38 INSERT INTO USER (`username`,`birthday`,`sex`,`address`)39 VALUES (#{username},#{birthday},#{sex},#{address})40 </insert>
2.3 日志,也是占位符, 雖然多了顯示參數(shù)類型. 但還是與Hibernate一樣:日志不夠人性化, 看不懂
#{} 和${} 有區(qū)別,其中一個(gè)有注入風(fēng)險(xiǎn)。
參考:https://www.cnblogs.com/gdwkong/p/8734020.html
三、Bee入門實(shí)例
3.1 例子代碼
兩行Bee相關(guān)代碼,就可以將數(shù)據(jù)插入DB。
import org.teasoft.bee.osql.Suid; import org.teasoft.exam.bee.osql.entity.Orders; import org.teasoft.honey.osql.core.BeeFactoryHelper; public class SimpleExam { public static void main(String[] args) { Suid suid=BeeFactoryHelper.getSuid(); //1 Orders orders1=new Orders(); orders1.setId(100001L); orders1.setName("Bee(ORM Framework)"); suid.insert(orders1); //2 } }
3.2 Bee無需要xml配置文件
3.3 日志友好,方便開發(fā)調(diào)試
3.3.1
[INFO] [Bee] insert SQL: insert into orders(id,name) values (?,?) [values]: 100001,Bee(ORM Framework)
[INFO] [Bee] | <-- Affected rows: 1
3.3.2
[INFO] [Bee] insert SQL: insert into orders(id,name) values (?,?) [values]: 100001,Bee(ORM Framework)
[INFO] [Bee] insert SQL: ( ExecutableSql )
insert into orders(id,name) values (100001,'Bee(ORM Framework)')
[INFO] [Bee] | <-- Affected rows: 1
多了一個(gè):
insert into orders(id,name) values (100001,'Bee(ORM Framework)') -- 這個(gè)是可以直接運(yùn)行的語句,方便開發(fā)人員調(diào)試
只需要添加配置:
bee.osql.showSql.showExecutableSql=true
3.3.3
[INFO] [Bee] insert SQL: insert into orders(id,name) values (?,?) [values]: 100001(Long),Bee(ORM Framework)(String) [INFO] [Bee] insert SQL: ( ExecutableSql ) insert into orders(id,name) values (100001,'Bee(ORM Framework)') [INFO] [Bee] | <-- Affected rows: 1
100001(Long),Bee(ORM Framework)(String)
只需要添加配置:
bee.osql.showSql.showType=true
bee.osql.showSql.showExecutableSql=true
感謝各位的閱讀,以上就是“如何使用Hibernate,MyBatis,Bee框架”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)如何使用Hibernate,MyBatis,Bee框架這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
網(wǎng)站名稱:如何使用Hibernate,MyBatis,Bee框架
文章地址:http://bm7419.com/article24/pssoje.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計(jì)公司、手機(jī)網(wǎng)站建設(shè)、網(wǎng)站排名、虛擬主機(jī)、云服務(wù)器、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)