2.什么是mybatis
什么是mybatis
是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plan Old Java Objects,普通的Java对象)映射成数据库中的记录.
其实就是类似于hibernate的封装jdbc对数据库操作的方法吧。
3.如何使用mybatis
3_1.首先,链接不同的数据库需要不同的包,今天链接的Oracle数据库,所以所用的jar包在相应的文件夹中,一共两个。其中一个在链接别的数据库的时候需要改为相应的jar包
3_2.个人感觉,使用mybatis和使用hibernate差不多,都是对数据库的映射。但是mybatis应该没有hibernate封装的更高,也许这就是mybatis比hibernate更灵活的地方吧。
3_3.使用前应该建立两个xml文件(xml文件一直是非常模糊的地点,很烦)一个是Config.xml。另一个是映射数据库的type.xml(User.xml)
3_4.建立对需要操作的数据库的映射文件,类似于hibernate的映射。注意,类中的属性名一定要和数据库中相同。
3_5.Config.xml文件中是一些关于jdbc的配置,User.xml中则是对数据库的操作语句,和返回类型的设定。
3_6.有一个例子在工作间中,oracle。
4.照猫画虎,什么都不理解,只是自己在修改自己以为懂的地方。虽然问题解决了,但是还是不知道具体的原理究竟是什么,或许以后的多次使用会理解的更多,肯定比不上理解原理自己写的爽。
5.还有一点,数据库中无论如何操作,一定要记着commit,其实今天很奇怪,虽然说最后的问题定在了commit和<mapper namespace="usermapper">上,两个都修改过以后可以显示正确的数据
但是,回头想想,又把namespace加了进去,依然可以显示正确的结果,是不是就是说问题在commit上?就算是commit上,但是表是存在的,为何修改前执行插入语句也是错误的。郁闷哦
6.今天关于mybatis的知识点,还有混沌一片。
暂时列出三点:
1.两个xml文件是关键。
2.映射类中的属性名一定要和数据库中的列名保持一致
3.mybatis比hibernate简单,比jdbc更好用吧。值得学。
加油加油
二:
1.2015年1月20日11:32:37
2.昨天学习到mybatis中如何具体的实现如何修改查询数据库中的数据,
大致方法是:
SqlSession session = Util.getSqlSessionFactory().openSession();
try {
session.insert("inserOneUser",user);
}
........
是通过session中的相关方法,调用User.xml中定义的<select>方法,其中insertOneUser是
User.xml中相对于<select>中属性Id的值。
3.今天刚刚学习到,可是使用接口来代替上述的方法,算是另外一种实现方法,感觉比上面的方法更
容易编写吧
大致方法:
3_1.建立一个接口类,里面定义相关的方法,函数名要和<select id>中id的值保持一致。
3_2.在相关的接口方法上加入相关的标签语句@Select("select * from user_info where id= #{id}")
3_3.具体使用的方法中:
SqlSession session = Util.getSqlSessionFactory().openSession();
try {
userOperation uOperation = session.getMapper(userOperation.class);
uOperation.insertOneUser(user);
session.commit();
}