1.对原生态的jdbc中的问题总结
1.1环境
java环境:jdk1.7.0_72
eclipse:indigo
mysql:5.1
1.2创建mysql数据
导入下边的脚本:
sql_data.sql:记录表结构
sql_table.sql:记录测试数据,在实际企业开发中,最后提供一个额初始化数据脚本
1.3jdbc程序
使用jdbc查询mysql数据库中用户表的记录。
创建java工程,加入jar包:
数据库驱动包(mysql5.1):
mysql-connector-java-5.1.7-bin.jar (mysql驱动)
ojdbc14-10.2.0.1.0.jar(oracle驱动)
程序代码:
1.4问题总结
1.数据库连接,使用时就创建,不使用立即书房,对数据库进行频繁的开启和关闭,造成数据库资源的浪费,影响数据库性能。
设想:是数据库连接池管理数据库连接。
2.将sql语句硬编码到java代码中,如果sql语句修改,需要重新编译java代码,不利于系统的维护。
设想:将sql语句配置在.xml配置文件中,即使sql变化,不需要对java代码重新编译。
3.向preparedState中设置参数,对占位符号位置和设置参数值,硬编码在java代码中,不利于系统维护。
设想:将sql语句以及占位符好和参数全部配置在.xml中
4.resultSet中遍历结果集数据时,存在硬编码,将获取表的字段进行硬编码,不利于系统维护。
设想:将将查询的结果集,自动映射成java对象。
2.mybatis框架
2.1mybatis是什么?
2.2mybatis框架
3.入门程序
3.1需求和环境
3.2log4j.properties
3.3工程结构
3.4SqlMapConfig.xml
3.5根据用户id(主键)查询用户信息
3.5.1创建po类
3.5.2映射文件
3.5.3在SqlMapConfig.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自增主键返回
3.7.4非自增主键返回(使用uuid())
使用mysql的uuid()函数生成主键,需要修改表中id字段类型为string,长度设置成35位。
执行思路:
先通过uuid()查询到主键,将主键输入到sql语句中。
执行uuid()语句顺序相对于insert语句之前执行。