mybatis快速入门
来源:互联网 发布:网络中文教师招聘 编辑:程序博客网 时间:2024/05/29 17:33
之前对spring,mybatis有些了解,但是不清楚其中逻辑,尤其是底层逻辑的实现,现在公司很多都是springmvc的项目,就趁现在把这些框架都熟练一下,这篇文章是个开始。。。
一 原生态JDBC程序问题总结
1. 数据库连接,使用时连接,不使用时释放,频繁对数据库开启和关闭,浪费资源,影响数据库性能(连接池管理连接);
2. SQL硬编码到java代码,修改SQL时需重新编译java代码,不利于系统维护(SQL配置到XML文件);
3. prepareStatement设置占位符和参数值存在硬编码(配置到XML文件);
4. 遍历结果集时,根据数据库字段取值存在硬编码(映射到java对象);
二 对mybatis框架介绍
1. mybatis是Apache下的开源框架;程序员可以把精力集中在SQL上,通过mybatis提供的映射机制,能自由灵活的开发满足需要的SQL;通过mybatis的输入输出映射可以灵活配置prepareStatement的参数值和结果集;
2. 框架图解
三 mybatis开发案例
1. 需求描述
根据ID对用户表进行查询
2. 开发流程
1.1 新建工程并导入mybatis核心包及其依赖包,MySQL驱动包,可导入Junit测试包;
1.2 在classPath目录下新建log4j.properties文件
# Global logging configurationlog4j.rootLogger=DEBUG, stdout# MyBatis logging configuration...#log4j.logger.org.mybatis.example.BlogMapper=TRACE# Console output...log4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
1.3 在classPath目录新建sqlMapConfig.xml核心配置文件,配置数据源和事务
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><environments default="development"><environment id="development"><transactionManager type="JDBC"/><dataSource type="POOLED"><property name="driver" value="com.mysql.jdbc.Driver"/><property name="url" value="jdbc:mysql://localhost:3306/mybatis"/><property name="username" value="root"/><property name="password" value="m1234"/></dataSource></environment></environments><mappers><mapper resource="user.xml"/></mappers></configuration>
1.4 配置SQL、输入输出映射文件user.xml
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="test"><!-- parameterType为java简单类型时,#{id}中的id可以是任意字符 --><select id="findUserById" parameterType="int" resultType="com.mybatis.po.User">select * from user where id = #{id}</select></mapper>
说明:parameterType-输入参数类型;resultType-结果集映射类型(此处表示将查询结果集映射到User对象)
private int id;private String username;private Date birthday;private String sex;private String address;
1.6 关联SQLMapConfig.xml 和 user.xml文件,在sqlMapConfig.xml文件中加入以下代码
<mappers><mapper resource="user.xml"/></mappers>
// 获取配置文件流InputStream inputStream = Resources.getResourceAsStream("sqlMapConfig.xml");// 创建会话工厂SqlSessionFactory ssf = new SqlSessionFactoryBuilder().build(inputStream);// 创建会话SqlSession ss = ssf.openSession();// 操作数据库User user = ss.selectOne("test.findUserById", 1);System.out.println(user);
说明:按照前面的框架图解部分的流程开发即可,运行测试类,即可查询出需要的数据
阅读全文
0 0
- MyBatis-----1、MyBatis快速入门
- 深入浅出MyBatis-快速入门
- 深入浅出MyBatis-快速入门
- 深入浅出MyBatis-快速入门
- MyBatis快速入门经典
- mybatis快速入门
- 深入浅出MyBatis-快速入门
- 深入浅出MyBatis-快速入门
- Mybatis快速入门指南
- 深入浅出MyBatis-快速入门
- 深入浅出MyBatis-快速入门
- MyBatis-快速入门
- MyBatis快速入门
- MyBatis --快速入门
- MyBatis --快速入门
- mybatis 快速入门
- mybatis快速入门
- mybatis快速入门
- ZOJ 2588 Burning Bridges
- 倍增LCA模板
- ##报错:DrawerLayout must be measured with MeasureSpec.EXACTLY.
- ssm整合:
- LiteIDE中漂亮的几款QSS
- mybatis快速入门
- 中间缓存变量机制 i++
- javascript开发:javascript基础知识点
- 数据压缩实验五——JPEG原理分析及JPEG解码器的调试
- php小代码
- Ubuntu——安装指南+初级设置
- 深度学习常用优化算法
- 离线数据存储和上传方案
- Centos 6.X安装docker