Mybatis应用(oracle)

网友投稿 539 2022-11-06

Mybatis应用(oracle)

Mybatis应用(oracle)

mybatis试用”

跟着老师做项目,用了三个多月的mybatis,但直到今天,才自己动手亲自配置了一次mybatis。很丢人的,尝试了几天才解决问题。为了让更多的初学者不用走弯路,就写点经验与大家分享。

废话不多说咱们就开始吧。

首先给大家一张总文档结构的图

在开始之前 首先在数据库中导入数据

四个字段都是string型的

第一步先建立项目

第二步也是所有的基础就是导入jar包(让我肝肠寸断的一步!)一共两个一个mybatis—3.01一个classes12。前面那个是mybatis的基础库。后面那个是oracle的jdbc驱动。

第三步就是建立实体类 User

package cn.dcr.mybatis.entity;public class User { private String id; private String userName; private String password; private String age; //省略get set}

第四步 建立configuration文件。这是mybatis的一个核心,它指导了系统去找哪个数据库,和去哪生成sql语句。

                                                                                     

注意 url那一项就是数据库的地址  username和passwor就不用说了吧

后面的那个mapper 就是告诉系统 去哪里构建sql语句。

第五步 就是建立mapper文件 也就是生成sql语句

sql语句parametetype就是输入的类型 这个例子很简单 就是string型的 后面的resulttype就不解释了:返回的类型。目前的sql语句就完成了专业一个要求:输入id号,在数据库中查到这个元组 返回成user行的model。 当然要新增一个查询的话 很简单,红字复制,然后修改。

第六步 写初始化sqlsessionfactory

package cn.dcr.mybatis.util; import java.io.IOException; import java.io.Reader; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; public class Util { private static SqlSessionFactory sqlSessionFactory = null; static { String resource = "coNfiguration.xml"; Reader reader = null; try { reader = Resources.getResourceAsReader(resource); } catch (IOException e) { e.printStackTrace(); } sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader); } public static SqlSessionFactory getSqlSessionFactory(){ return sqlSessionFactory; } }

这里我就曾出现过一个问题, 这一行

String resource = "coNfiguration.xml";

configuration的目录就是顶层,诸位看官,你们试试移动xml文件看有什么反应。

第七步

package cn.dcr.mybatis.dao; import org.apache.ibatis.session.SqlSession; import cn.dcr.mybatis.entity.User; import cn.dcr.mybatis.util.Util; public class UserDao { public User query(String id){ SqlSession session = Util.getSqlSessionFactory().openSession(); User user = null; try{ // cn.dcr.mybatis.entity.testmapper 这是mapper文件的namespace selectOne是

暂时没有评论,来抢沙发吧~