91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用Hibernate,MyBatis,Bee框架

發布時間:2021-10-12 09:39:20 來源:億速云 閱讀:145 作者:iii 欄目:編程語言

這篇文章主要講解了“如何使用Hibernate,MyBatis,Bee框架”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“如何使用Hibernate,MyBatis,Bee框架”吧!

一、Hibernate入門實例

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{ 
  //準備數據 
  UserModel um = new UserModel(); 
  um.setUuid("1"); 
  um.setUserId("id1"); 
  um.setName("name1"); 

  s = sf.openSession(); //為什么要有這種類似模板的語句
  t = s.beginTransaction();  //為什么就一個語句s.save(um),也需要顯示聲明事務
  s.save(um); 
  t.commit(); //為什么就一個語句s.save(um),也需要顯示提交事務
 }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)關系的映射

1.3  日志不夠人性化, 看不懂

測試:直接在Elipse里面運行Client文件即可,運行結束,你將會看到在console輸出:“Hibernate: insert into tbl_user (userId, name, age, uuid) values (?, ?, ?, ?)”,打開數據庫的數據表,你會看到一條值已經加入了。

參考:https://www.jb51.net/article/123469.htm

二、MyBatis入門實例

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         //執行插入語句
 66         sqlSession.insert("user.insertUser",user);
 67         //提交事務
 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配置文件

創建UserMapper.xml映射文件

那么簡單, 還要寫SQL語句??!!

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 日志,也是占位符, 雖然多了顯示參數類型.  但還是與Hibernate一樣:日志不夠人性化, 看不懂

#{} 和${} 有區別,其中一個有注入風險。

參考:https://www.cnblogs.com/gdwkong/p/8734020.html

三、Bee入門實例

3.1 例子代碼

兩行Bee相關代碼,就可以將數據插入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 日志友好,方便開發調試

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

多了一個:

insert into orders(id,name) values (100001,'Bee(ORM Framework)')  -- 這個是可以直接運行的語句,方便開發人員調試

只需要添加配置:

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框架”的內容了,經過本文的學習后,相信大家對如何使用Hibernate,MyBatis,Bee框架這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

拉孜县| 本溪市| 新巴尔虎左旗| 石棉县| 苍溪县| 富顺县| 兴和县| 南江县| 宁河县| 乐安县| 广河县| 绥芬河市| 二连浩特市| 晋城| 宁波市| 阜南县| 祁阳县| 永兴县| 万盛区| 班戈县| 筠连县| 泰和县| 建德市| 额尔古纳市| 西充县| 湟中县| 七台河市| 太湖县| 桑植县| 新安县| 白水县| 丹寨县| 含山县| 诏安县| 迁安市| 凤凰县| 察隅县| 饶阳县| 连州市| 那曲县| 连平县|