您好,登录后才能下订单哦!
这篇文章主要讲解了“如何使用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框架这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。