mybatis初级学习
Posted liuhaodong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis初级学习相关的知识,希望对你有一定的参考价值。
-------mybatis学习经验-------
我们在之前进行连接mysql数据库的时候是经过BaseDao类来连接的里面还得写特别多的逻辑代码,访问数据库工作是还要
写一堆执行SQL的方法处理语句,为了更加方便,使用更加简洁的代码来访问数据库我们就有必要学习一下mabatis了。
我们首次先用Java文件来进行讲解,待我们能熟练运用的时候在进行嵌入JAVAWEB。
1.创建java文件
2.在src文件下创建conf.xml文件进行数据库配置:
1 <?xml version="1.0" encoding="utf-8"?> 2 <!DOCTYPE configuration 3 PUBLIC "-//mybatis.org//DTD Config 3.0//EN" 4 "http://mybatis.org/dtd/mybatis-3-config.dtd"> 5 <configuration> 6 <environments default="development"> 7 <environment id="development"> 8 <transactionManager type="JDBC"/> 9 <dataSource type="POOLED"> 10 <!--配置数据库信息--> 11 <property name="driver" value=""/> 12 <property name="url" value=""/> 13 <property name="username" value=""/> 14 <property name="password" value=""/> 15 </dataSource> 16 </environment> 17 </environments> 18 <mappers> 19 <!--加载映射文件--> 20 <mapper resource="cn/bdqn/Mapper/PersonMapper.xml"/> 21 </mappers> 22 </configuration> 23 //注意<mapper resource="cn/bdqn/Mapper/PersonMapper.xml"/>这里是映射文件的地址接下来就让我创建映射文件/也就是写数据库crud语句的文件
3.创建数据库表的实体类《映射,映射的含义在这里大概简述一下:映射就是根据数据库里面的一张表的字段进行创建实体类,实体类里面的属性和数据库表的
字段一一对应。这就是我理解的映射关系》
4.创建Mapper.xml文件《Mapper-映射》
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="cn.bdqn.Mapper.PersonMapper"> <select id="PersonByid" resultType="cn.bdqn.entity.Person" parameterType="int"> //SQL语句 </select> </mapper>
根据需要编写(CRUD增删改查)SQL语句 这几个标签中的几个属性的意思是
<mapper namespace="此文件存放的位置"> 我放在cn.bdqn.Mapper.PersonMapper所以我就写这里了
id="" //id唯一的大家都知道,它的存在就是为了让程序认识辨别你调用的是那个sql语句
parameterType="" //这个sql语句需要参数的时候才会用到的里面写参数类型
resultType="" //这个是sql语句的返回值 例如:对象 int String
5.编写测试类
//加载MyBatis配置文件(访问数据库) Reader reader = Resources.getResourceAsReader("conf.xml"); // SqlSessionFactory -connection SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);//mybatis框架的程序入口 //session - connection SqlSession session = sessionFactory.openSession(); //获取session对象 String stat = "cn.bdqn.entity.PersonMapper.PersonByid"; //这里就是根据之前说的Id进行查找我们写的sql语句了 Person person = session.selectOne(stat, 1); 这里我用的selectOne();方法因为我在Mapper.xml文件中只写了一条sql语句。这样就执行那条sql语句了 它是有返回值的接收下。 System.out.println(person); //我在实体类中重写了toString(); session.close(); 这里和Conntion 一样用完记得关闭。
(ps:记得导入数据库架包,别忘了。把代码复制过去该修改的地方全修改了,别忘了)
运行就好了。报错的话好好检查一边或者百度查找一下错误如果找不到的话也可以联系我哦,只不过本人也是个技术小菜。但是我会做到力所能及的帮助你的。
为了节省修改数据库链接信息我们在src中创建一个**.properties文件
在**.properties文件中进行配置连接数据库的
driver、url、username、password
例如:
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/person?useUnicode=true&characterEncoding=UTF-8
username=root
password=1234
那么问题来了,我们怎么在conf.xml文件里面引用这些信息呢?
:在conf.xml文件中写一个<properties resource="**.properties"><properties/>
就像用EL表达式一样${key}
运行你的项目就好了,这样就更加方便后期的修改了。
以上是关于mybatis初级学习的主要内容,如果未能解决你的问题,请参考以下文章
[AndroidStudio]_[初级]_[配置自动完成的代码片段]
[AndroidStudio]_[初级]_[配置自动完成的代码片段]