mybatis之芝麻开门
话不多说直接开搞,把mybatis的环境搭起来,弄一个简单的查询。
mybatis jar包下载地址:https://github.com/mybatis/mybatis-3
我下的是3.4.1版本的,解压后里面有个mybatis-3.4.1.jar的文件这个是要用的,很轻量级一个jar就搞定。还有lib目录里面会一些,但这些都不是必须要用的,是一些扩展的依赖。
在mySql数据库中创建一个表,同时插入了一条数据
接着就可以创建java project了
创建后首先导入我们需要的jar包,为了能把日志打印出来建议把log4j导入,最后一个是mysql的驱动包也得导入。
然后创建log4j.xml配置文件,根据数据库字段创建pojo,db.properties(数据库连接配置文件)这些都不是重点,就不贴图了。
重点是其他几个文件,首先来说我们的mybaties-config.xml,这是mybatis的全局配置文件,程序会把它当作资源通过
SqlSessionFactoryBuilder来创建我们的sqlSession会话,每一个sqlSession就是一次连接,生命周期是由mybatis自动管理的
它是暴露给我们用户的,通过sqlSession就可以调用增删改等操作了。这些是从官方文档里拿过来的,
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration><!-- 这是将数据库连接信息加入配置 --><properties resource="db.properties"></properties><environments default="development"><environment id="development"><transactionManager type="JDBC"/><dataSource type="POOLED"><!-- 从我们的db.properties中取值 --><property name="driver" value="${db.driver}"/><property name="url" value="${db.url}"/><property name="username" value="${db.namme}"/><property name="password" value="${db.password}"/></dataSource></environment></environments><!-- 这是管理我们sql映射文件, mybatis-config.xml文件可以说是mybatis的入口很多配置都需要在这里面配置,当然以后跟spring整合后很多东西就可以交给我spring管理--><mappers><mapper resource="EmployeeMapper.xml"/></mappers>
</configuration>
下面来创建sqlSession
public class MybatisTest {@Test
public void test() throws Exception {String resource = "mybatis-config.xml";//加载全局配置文件InputStream inputStream = Resources.getResourceAsStream(resource);//创建session工厂SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);//通过工厂创建sqlSession会话SqlSession sqlSession = sqlSessionFactory.openSession();//用会话对象进行查询,这里通过参数1(namespace+sql语句的唯一标识)来定位我要查的是哪个sql文件的哪个查询。//参数2:表示要传的参数Employee e = sqlSession.selectOne("com.luohp.mybatis.bean.Employee.findEmp", 1);System.out.println(e.toString());//记得关闭sqlSession.close();}
}
最后还得创建sql映射文件EmployeeMapper.xml,平时开发mybatis这块儿大部分时间都是在捣鼓这些,里面就写了我们的sql
语句。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--
namespace:命名空间,这里可以随便起个名字。但如果采用的是接口的映射方式这里必须是mapper接口的全限定名,不然没法映射。
id:唯一标识
parameterType:参数的类型
resultType:返回值的类型
#{id}:取值(传过来的参数)-->
<mapper namespace="com.luohp.mybatis.bean.Employee"><select id="findEmp" parameterType="int" resultType="com.luohp.mybatis.bean.Employee">select * from tbl_employee where id = #{id}</select>
</mapper>
然后就可以运行我们的测试代码,根据打印出来信息来看,已经正确的执行了。
mybatis之芝麻开门相关推荐
- mybatis查询报错:com.mysql.cj.exceptions.DataConversionException: Cannot determine value type from string
mybatis查询报错: com.mysql.cj.exceptions.DataConversionException: Cannot determine value type from strin ...
- MyBatis的插入后获得主键的方式
需求: 使用MyBatis往MySQL数据库中插入一条记录后,需要返回该条记录的自增主键值. 方法: 在mapper中指定keyProperty属性,示例如下: <insert id=" ...
- mybatis使用注解开发
mybatis使用注解开发 面向接口编程 在之前我们是通过面向对象编程,但是在真正开发的时候我们会选择面向接口编程. 根本原因 : 解耦 , 可拓展 , 提高复用 , 分层开发中 , 上层不用管具体的 ...
- mybatis ResultMap
ResultMap 解决属性名和字段的名称不一致的问题. 查询为null的问题 创建java实体类: public class User {private int id; //idprivate St ...
- mybatis配置文件解析
mybatis配置文件解析 mybatis核心配置文件`mybatis-config.xml文件. mybatis的配置文件包含了会深深影响mybatis行为的设置和属性信息. 能配置的内容: con ...
- mybatis CRUD操作
mybatis CRUD操作 select select标签是mybatis最常用的标签之一. select语句有很多属性可以详细的配置每一天sql语句. id 命名空间唯一的标识. 接口中的方法名与 ...
- java mybatis基础
java mybatis基础 1.1 什么是mybatis? mybatis是一个优秀的持久层框架. 避免几乎所有的JDBC代码和手动设置参数以及获取结果集的过程. 可以使用简单的xml或者注解来配置 ...
- mybatis的资源过滤错误及xml文件编码错误
mybatis 解决maven项目内资源过滤的问题 写的配置文件无法被导出或者生效的问题. 解决方案: <build><resources><resource>&l ...
- Mybatis传递多个参数的4种方式
现在大多项目都是使用Mybatis了,但也有些公司使用Hibernate.使用Mybatis最大的特性就是sql需要自己写,而写sql就需要传递多个参数.面对各种复杂的业务场景,传递参数也是一种学问. ...
最新文章
- mysql字符串外键约束_MySQL中的约束函数主外键
- 97.5%准确率的深度学习中文分词(字嵌入+Bi-LSTM+CRF)
- 操作系统中PV操作之顾客理发师问题
- 简练软考知识点整理-项目启动过程组
- SDH光传输设备是什么?SDH设备特点介绍
- ubuntu下使用python将ppt转成图片_Ubuntu下使用Python实现游戏制作中的切分图片功能...
- java中序列化之子类继承父类序列化
- Apache的多处理模块MPM
- CentOS 6.5 安装 java 环境
- 从网络上下载文件到本地
- 工业循环冷却水处理设计规范_循环冷却水系统及其水处理
- AMD IOMMU与Linux (2) -- IVRS及AMD IOMMU硬件初始化
- java xml字符串转换成对象_将XML字符串转换为对象
- IT之软件公司组织架构
- java查看eth转账状态_eth交易记录input解析
- 思岚rplidar A1激光点云数据读取
- 在Android开发中遇到的MediaPlayer问题
- rar password recover(rar密码恢复工具) v2.0.0.0
- 4g能用吗64java,4g内存能不能装64位系统吗_电脑内存是4g可以安装64位系统吗
- RESTORE 还原数据库