传统JDBC操作数据库
Posted 小小蔡芽
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了传统JDBC操作数据库相关的知识,希望对你有一定的参考价值。
package com.jdbc.example; import java.sql.Connection; import java.sql.Date; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class JdbcExample { //创建一个数据库的连接 private static Connection getConnection() { Connection connection = null; try { Class.forName("com.mysql.jdbc.Driver");//加载用户驱动 String url = "jdbc:mysql://localhost:3306/mybatis";//连接数据库的地址 String user = "root";//数据库的用户名 String password = "root";//数据库的密码 connection = DriverManager.getConnection(url, user, password);//得到一个数据库的连接 } catch (ClassNotFoundException e) { // TODO 自动生成的 catch 块 System.out.println(JdbcExample.class.getName() + "数据库驱动包未找到!"); return null; } catch (SQLException e) { // TODO 自动生成的 catch 块 System.out.println(JdbcExample.class.getName() + "SQL语句有问题,无法查询成功!"); return null; } return connection;//返回该连接 } public User getUser(int id) { Connection connection = getConnection();//得到该数据库的连接 PreparedStatement ps = null;//声明一个null的预处理的Statement ResultSet rs = null;//声明一个结果集,用来存放SQL的查询后的结果 try { ps = connection.prepareStatement("select * from user where id=?");//对查询的User表的SQL进行预处理编译 ps.setInt(1, id);//把参数Id设值到数据的条件中 rs = ps.executeQuery();//执行查询语句。把结果返回到ResultSet结果集中 while (rs.next()) {//遍历从结果集中取数 int user_id = rs.getInt("id");//取出Statement的用户id String username = rs.getString("username");//取出Statement的用户名 Date birthday = rs.getDate("birthday");//取出Statement的生日 String sex = rs.getString("sex");//取出Statement的性别 String address = rs.getString("address");//取出Statement的用户地址 User user = new User();//创建一个User类的实体对象POJO user.setId(user_id);//存放在user对象中 user.setUsername(username); user.setBirthday(birthday); user.setSex(sex); user.setAddress(address); return user; } } catch (SQLException e) { e.printStackTrace(); } finally { this.close(rs, ps, connection); } return null; } //判断数据库是否关闭 /*** * * @param rs 查看结果集是滞关闭 * @param stmt 预处理SQL是否关闭 * @param conn 数据库连接是否关闭 */ private void close(ResultSet rs, Statement stmt, Connection conn) { try { if (rs != null) { rs.close(); } } catch (SQLException e) { System.out.println(JdbcExample.class.getName() + "ResultSet 关闭失败!"); } try { if (stmt != null) { stmt.close(); } } catch (SQLException e) { System.out.println(JdbcExample.class.getName() + "Statement 关闭失败!"); } try { if (conn != null) { conn.close(); } } catch (SQLException e) { System.out.println(JdbcExample.class.getName() + "Connection 关闭失败!"); } } public static void main(String[] args) { User user = new JdbcExample().getUser(1);//我们查询用户的id 为 1 用户 System.out.println(user);//打印输出查询出来的数据 } }
以上是关于传统JDBC操作数据库的主要内容,如果未能解决你的问题,请参考以下文章