(文章内容仅是对自己学习内容的大致总结,并没有细致讲解)
1 JDBC复习
1.1 JDBC
JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,同时,JDBC也是个商标名。
1.2 JDBC四部曲
//1、加载数据库驱动
Class.forName("com.mysql.jdbc.Driver");
//2、获取数据库连接对象,需要数据库地址、数据库用户名、密码三个参数
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8","root","terry");
//3、预编译
String sql = "SELECT * FROM user WHERE username = ?";
PreparedStatement preparedStatement = connection.prepareStatement(sql);
preparedStatement.setString(1, "张三");
//4、获取结果集
ResultSet resultSet = preparedStatement.executeQuery();
//输出结果集,获取表内容
while(resultSet.next()){
System.out.println(resultSet.getString("id")+""+resultSet.getString("username"));
}
//关闭顺序于创建顺序相反
resultSet.close();
preparedStatement.close();
connection.close();
(上述例子只是核心的一部分,并不完整)
2 初涉XML
XML是扩展标记语言(Extensible Markup Language),被设计用来传输和存储数据,焦点在于数据的内容,而HTML被设计用来显示数据,关注数据的外观显示。
<?xml version="1.0" encoding="UTF-8"?>
<note>
<to>Tom</to>
<from>Terry</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
XML树结构
详见XML教程
3 Mybatis入门
3.1 mybatis用于解决原生态JDBC中存在的问题:
(1)数据库连接:使用时创建,使用完立即释放,对数据库进行频繁连接和关闭,造成数据库资源浪费,影响数据库性能。
(2)将sql语句硬编码到java代码中,如sql语句修改,需重新编译java代码,不利于系统维护。
(3)向preparedStatement中设置参数:占位符位置和设置参数值是硬编码,不利于系统维护。
(4)从resultSet中遍历时存在硬编码,并将获取表的字段进行硬编码,不利于系统维护。
3.2 Mybatis是什么?
(1) mybatis是一个持久层的框架,是apache下的一个顶级项目。
---mybatis让程序将主要精力放在sql上,通过mybatis提供的映射方式,自由灵活地生成(半自动)满足程序需求的sql。
---mybatis可以将preparedStatement中的输入参数进行输入映射,将结果集灵活映射成java对象(输出映射)。
---托管在guthub
https://github.com/mybatis/mybatis-3/releases
(2)Mybatis框架