mybatis入门 第一天

自己编写的代码: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数据

导入下边的脚本:

sql_table.sql:记录表结构

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

1.1 jdbc程序

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

创建java工程,加入jar包:

数据库驱动包(mysql5.1

 

上边的是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框架

 
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版本

 

加入mysql的驱动包
3.2log4j.properties
3.3 工程结构
3.4 SqlMapConfig.xml

配置mybatis的运行环境,数据源、事务等。

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

 
3.5.1 创建po
3.5.2映射文件

映射文件命名:

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

在映射文件中配置sql语句。
3.5.3 SqlMapConfig.xml加载映射文件

sqlMapConfig.xml中加载User.xml:
3.5.4 程序编写

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


3.6.1 映射文件

 

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

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

 3.7.3 自增主键返回

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

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

LAST_INSERT_ID()

insert之后调用此函数。

修改insertUser定义:

猜你喜欢

转载自blog.csdn.net/qq_21508727/article/details/79760192