第一范文网 - 专业文章范例文档资料分享平台

mybatis12月7号课堂笔记

来源:用户分享 时间:2025/7/22 7:55:21 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

Mybatis第一天课堂笔记

Mybatis课程安排:

第一天:

Jdbc编程中的问题?

Mybatis的框架原理(重点) Mybatis的第一个程序: 实现用户信息的增、删、改、查。 Mybatis如何解决jdbc编程的问题。 与hibernate不同。

mybatis开发dao两种方法:(重点)

原始的dao开发方法(接口和接口实现) Mapper动态代码方法

Mybatis的配置文件: SqlMapConfig.xml(全局配置文件) XXXXXMapper.xml(映射文件,重点)

Mybatis动态Sql(重点)

resultType(重点掌握)和resultMap区别。

第二天:

Mybatis关联查询: 一对一查询 一对多 多对多

Mybatis的缓存 一级缓存 二级缓存 延迟加载

Mybatis和springmvc整合(重点)

原始的dao开发方法(接口和接口实现) Mapper动态代码方法

Mybatis逆向工程(由数据库表生成类文件和映射文件)

1 Jdbc编程中的问题

1.1 写一个程序

目标:

1、 通过jdbc程序找出当中的问题

2、 重视jdbc编程,企业在技术选型时对于小型的项目或性能要求较高的项目,优先选用jdbc开发。

准备开发环境: Jdk1.7.72

Eclipse indigo(3.7) Mysql5.1

运行环境:

Mysql5.1数据库驱动

创建mysql数据库:

代码如下:

publicclassJdbcTest {

//定义sql语句,根据名称查询用户表的记录

privatestatic String sql = \;

publicstaticvoid main(String[] args) throwsSQLException {

//数据库连接

Connection connection = null; //预编译statement

//好处:防止sql注入,提高数据的性能

PreparedStatementpreparedStatement = null; //结果集

ResultSetresultSet = null;

try {

//加载数据库驱动

Class.forName(\);

//连接数据库 connection =

DriverManager.getConnection(\, \, \);

//构造preparedStatement

preparedStatement = connection.prepareStatement(sql); //向preparedStatement中占位符的位置设置参数 preparedStatement.setString(1, \张三\);

//发起数据库查询请求,得到结果集

resultSet = preparedStatement.executeQuery(); //遍历查询结果

while(resultSet.next()){

int id = resultSet.getInt(\);

String username = resultSet.getString(\); Date birthday = resultSet.getDate(\); System.out.println(id+\+username+\\+birthday); }

} catch (Exception e) { e.printStackTrace(); }finally{ //释放资源

if(resultSet!=null){ resultSet.close(); }

if(preparedStatement!=null){ preparedStatement.close(); }

if(connection!=null){ connection.close(); } } } }

1.2 总结问题

1、 将sql语句硬编码到java代码中,如果修改sql语句,需要修改java代码,重新编译。系统可维护性不高。

设想如何解决?

能否将sql单独配置在配置文件中。

2、 数据库连接频繁开启和释放,对数据库的资源是一种浪费。

设想如何解决?

使用数据库连接池管理数据库连接。

3、 向preparedStatement中占位符的位置设置参数时,存在硬编码(占位符的位置,设置的变量值)

设想如何解决?

能否也通过配置的方式,配置设置的参数,自动进行设置参数。

4、 解析结果集时存在硬编码(表的字段名、字段的类型)

设想如何解决?

能否将查询结果集映射成java对象。

2 Mybatis框架

2.1 Mybatis是什么?

MyBatis本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis。

MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注 SQL 本身,而不需要花费精力去处理例如注册驱动、创建connection、创建statement、手动设置参数、结果集检索等jdbc繁杂的过程代码。

Mybatis通过xml或注解的方式将要执行的statement配置起来,并通过java对象和statement中的sql进行映射生成最终执行的sql语句,最后由mybatis框架执行sql并将结果映射成java对象并返回。

2.2 Mybatis框架图

搜索更多关于: mybatis12月7号课堂笔记 的文档
mybatis12月7号课堂笔记.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c7rxd11aayt7yogk1iu0t_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top