当前位置:首页 > mybatis从入门到精通
1、对原生态的jdbc程序问题总结
1.1 jdbc程序:使用jdbc查询mysql数据库中用户表的记录 1.2 问题:
1)数据库连接使用时创建、不使用时就释放:对数据库进行频繁的连接的创建和释放,造成数据库资源浪费,影响数据库性能---------------使用数据库连接池管理数据库连接
2)将sql语句硬编码到java代码中,如果sql语句修改,需要重新编译java代码,不利于系统维护-------------将sql语句配置在xml配置文件中,即使sql变化,不需要对java代码进行重新编译
3)向prepareStatement中设置参数,对占位符号位置和设置参数值,硬编码在java代码中,不利于系统维护-------------------将sql语句及占位符和参数全部配置在xml文件中
4)从resultSet中遍历结果集数据时,存在硬编码,将获取表的字段进行硬编码,不利于系统维护----------------------将结果集自动映射成java对象
2、mybatis框架原理 2.1 mybatis是什么?
mybatis是一个持久层框架,是apache下的顶级项目 github下:https://github.com/mybatis/mybatis-3/releases
mybatis让程序员将主要精力放在sql上,通过mybatis提供的映射方式,自由灵活生成满足sql需要的sql语句
mybatis可以将向preparestatement输入的参数自动进行输入映射,将查询结果集灵活映射成java对象(输出映射)。
2.2 mybatis框架
\\
3、mybatis入门程序 3.1 需求
根据主键查询用户信息 根据用户名模糊查询用户信息
怎删改查.....
3.2 mybati运行环境(jar包):
从https://github.com/mybatis/mybatis-3/releases 下载 lib下:依赖包
mybatis-3.4.1.jar:核心包 3.3 log4j.properties
#Global logging configuration log4j.rootLogger=ERROR, stdout #MyBatis logging configuration...
log4j.logger.org.mybatis.example.BlogMapper=TRACE #Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%5p[%t]-%m%n
3.4 工程目录结构
3.5 根据用户id查询用户信息、通过用户名模糊查询用户信息 3.5.1 编写映射文件(包括对应的实体类:User.java)
映射文件命名:User.xml(原始的ibatis命名方式),mapper代理的映射文件名称叫做XXXMapper.xml
PUBLIC \ \>
3.5.2 将映射文件加载到SqlMapConfig配置文件中
3.5.3 程序编写
@Test
publicvoid findUserByIdTest()throwsIOException{ }
// mybatis配置文件
String resource =\;
InputStream input =Resources.getResourceAsStream(resource); // 创建会话工厂
SqlSessionFactory sqlSessionFactory =newSqlSessionFactoryBuilder()
.build(input);
// 通过工厂得到SqlSession
SqlSession sqlSession = sqlSessionFactory.openSession(); // 通过SqlSession操作数据库
User user = sqlSession.selectOne(\,23); System.out.println(user.getName()); // 释放资源
sqlSession.close();
共分享92篇相关文档