这篇文章主要讲解了“如何使用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框架这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://my.oschina.net/u/4111850/blog/5041231