千家信息网

如何使用Hibernate,MyBatis,Bee框架

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要讲解了"如何使用Hibernate,MyBatis,Bee框架",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"如何使用Hibernate,M
千家信息网最后更新 2026年11月03日如何使用Hibernate,MyBatis,Bee框架

这篇文章主要讲解了"如何使用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     38         INSERT INTO USER (`username`,`birthday`,`sex`,`address`)39         VALUES (#{username},#{birthday},#{sex},#{address})40     

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框架这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

代码 语句 配置 文件 框架 不用 数据 日志 程序 程序员 事务 例子 实例 学习 运行 不够 人性 内容 模板 参考 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网加科技 天津市摩尔互联网科技 中关村互联网科技集团 科技创新与互联网经济 互联网是不是新科技 智能科技公司是互联网公司吗 科技与互联网发展 互联网科技排名 百单互联网科技有限公司 互联网科技公司的市场部门 中国的互联网科技企业的崛起 互联网系的金融科技公司 昊天互联网科技有限公司 畅思互联网科技 洛阳共同富裕互联网科技有限公司 阿里互联网科技企业 互联网科技圈年度人物 山东星卡互联网科技有限公司官网 互联网科技融合创新 工业互联网科技成果转化 科技信息互联网 苏州互联网科技贷款公司 宁波青枫互联网科技有限公司 厦门千工互联网科技有限公司 想开互联网科技公司怎么样 内蒙古九一互联网科技 徐州市互联网科技有限公司 烟台灵鸽互联网科技有限公司 中天科技中国工业互联网 绵阳真晨互联网科技有限公司
0