00.Mybatis初级使用-回顾JDBC

来源:互联网 发布:win10软件管家 编辑:程序博客网 时间:2024/06/05 04:20

JBDC(Java Data Base Connectivity)是Java访问关系数据库的原始API,Mybatis框架也是基于JDBC之上对其封装的数据库操作工具(执行SQL)。原始API开发的程序代码质量低,不利于扩展、维护,并且资源利用率也很低(频繁连接和断开连接),需要硬编码来处理结果集(关系数据模型到Java数据模型)。实际工作中,极少直接使用JDBC开发。


JDBC连接Mysql数据库例子:


0.新建mysql test数据库中数据表role(id,role_name, note)



1.新建Java工程,导入Mysql的JDBC驱动(下载)。windows系统下载zip版本,解压后得到mysql-connector-java-5.1.41-bin.jar


2.新建Role类

package com.lz.jdbc;public class Role {private Integer id;private String roleName;private String note;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getRoleName() {return roleName;}public void setRoleName(String roleName) {this.roleName = roleName;}public String getNote() {return note;}public void setNote(String note) {this.note = note;}@Overridepublic String toString() {return "Role [id=" + id + ", roleName=" + roleName + ", note=" + note + "]";}}


新建JdbcUtil类

package com.lz.jdbc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class JdbcUtil {private static final String driver = "com.mysql.jdbc.Driver";private static String url = "jdbc:mysql://localhost:3306/";private static Connection connection = null;private static Statement statement = null;public static void connect(String database, String user, String password) {url += database;try {Class.forName(driver);connection = DriverManager.getConnection(url, user, password);} catch (ClassNotFoundException e) {e.printStackTrace();} catch (SQLException e) {e.printStackTrace();}}public static Role select(String sql) {Role role = new Role();ResultSet resultSet = null;try {statement = connection.createStatement();resultSet = statement.executeQuery(sql);while (resultSet.next()) {role.setId(resultSet.getInt(1));role.setRoleName(resultSet.getString(2));role.setNote(resultSet.getString(3));}} catch (SQLException e) {e.printStackTrace();} finally {try {if (resultSet != null && !resultSet.isClosed()) {resultSet.close();}if (connection != null && !connection.isClosed()) {connection.close();}} catch (SQLException e) {e.printStackTrace();}}return role;}public static void close() {try {if (statement != null && !statement.isClosed()) {statement.close();}} catch (SQLException e) {e.printStackTrace();}}}

新建MainApp类

package com.lz.jdbc;public class MainApp {public static void main(String[] args) {String sql = "SELECT * FROM ROLE WHERE ID = 10001";JdbcUtil.connect("test", "root", "luzhen");Role role = JdbcUtil.select(sql);System.out.println(role);JdbcUtil.close();}}


工程目录:



运行程序,得出结果


0 0
原创粉丝点击