自己编写的代码:https://github.com/JGPY/JAVA_L/tree/master/projectMybatis


mybatis 第一天 mybatis的基础知识

 

课程安排:

mybatisspringmvc通过订单商品 案例驱动

 

第一天:基础知识(重点,内容量多

对原生态jdbc程序(单独使用jdbc开发)问题总结

mybatis框架原理 (掌握)

mybatis入门程序

用户的增、删、改、查

mybatis开发dao两种方法:

原始dao开发方法(程序需要编写dao接口和dao实现类)(掌握)

mybaitsmapper接口(相当于dao接口)代理开发方法(掌握)

mybatis配置文件SqlMapConfig.xml

mybatis核心:

mybatis输入映射(掌握)

mybatis输出映射(掌握)

mybatis的动态sql(掌握) 

1 对原生态jdbc程序中问题总结

1.1 环境

java环境:jdk1.7.0_72

eclipseindigo

mysql5.1

 1.2 创建mysql数据

导入下边的脚本:
mybatis入门 第一天

sql_table.sql:记录表结构

sql_data.sql:记录测试数据,在实际企业开发中,最后提供一个初始化数据脚本
mybatis入门 第一天

1.1 jdbc程序

使用jdbc查询mysql数据库中用户表的记录。

创建java工程,加入jar包:

数据库驱动包(mysql5.1

mybatis入门 第一天 

上边的是mysql驱动。
1.1 问题总结

 

1、数据库连接,使用时就创建,不使用立即释放,对数据库进行频繁连接开启和关闭,造成数据库资源浪费,影响 数据库性能。

设想:使用数据库连接池管理数据库连接。

 

2、将sql语句硬编码java代码中,如果sql 语句修改,需要重新编译java代码,不利于系统维护。

设想:将sql语句配置在xml配置文件中,即使sql变化,不需要对java代码进行重新编译。

 

3、向preparedStatement中设置参数,对占位符号位置和设置参数值,硬编码在java代码中,不利于系统维护。

设想:将sql语句及占位符号和参数全部配置在xml中。

 

4、从resutSet中遍历结果集数据时,存在硬编码,将获取表的字段进行硬编码,,不利于系统维护。

设想:将查询的结果集,自动映射成java对象。

2 mybatis框架

 
2.1 mybatis是什么?

mybatis是一个持久层的框架,是apache下的顶级项目。

mybatis托管到goolecode下,再后来托管到github(https://github.com/mybatis/mybatis-3/releases)

mybatis让程序将主要精力放在sql上,通过mybatis提供的映射方式,自由灵活生成(半自动化,大部分需要程序员编写sql)满足需要sql语句。

mybatis可以将向 preparedStatement中的输入参数自动进行输入映射,将查询结果集灵活映射成java对象。(输出映射
2.2 mybatis框架
mybatis入门 第一天

 
1 入门程序
1.1 需求

根据用户id(主键)查询用户信息

根据用户名称模糊查询用户信息

添加用户

删除 用户

更新用户

1.1 环境

java环境:jdk1.7.0_72

eclipseindigo

mysql5.1

mybatis运行环境(jar包):

https://github.com/mybatis/mybatis-3/releases下载,3.2.7版本

 mybatis入门 第一天

加入mysql的驱动包
3.2log4j.properties
mybatis入门 第一天
3.3 工程结构
mybatis入门 第一天
3.4 SqlMapConfig.xml

配置mybatis的运行环境,数据源、事务等。
mybatis入门 第一天

3.5 根据用户id(主键)查询用户信息

 
3.5.1 创建po
mybatis入门 第一天
3.5.2映射文件

映射文件命名:

User.xml(原始ibatis命名),mapper代理开发映射文件名称叫XXXMapper.xml,比如:UserMapper.xmlItemsMapper.xml

在映射文件中配置sql语句。
mybatis入门 第一天
3.5.3 SqlMapConfig.xml加载映射文件

sqlMapConfig.xml中加载User.xml:
mybatis入门 第一天
3.5.4 程序编写
mybatis入门 第一天

3.6 根据用户名称模糊查询用户信息


3.6.1 映射文件

 

使用User.xml,添加根据用户名称模糊查询用户信息的sql语句。

 mybatis入门 第一天
3.6.2 程序代码
mybatis入门 第一天
3.7 添加用户
3.7.1 映射文件
User.xml中配置添加用户的Statement
mybatis入门 第一天
3.7.2程序代码
mybatis入门 第一天

 3.7.3 自增主键返回

mysql自增主键,执行insert提交之前自动生成一个自增主键。

通过mysql函数获取到刚插入记录的自增主键:

LAST_INSERT_ID()

insert之后调用此函数。

修改insertUser定义:
mybatis入门 第一天

相关文章: