package com.swift;//这里导入的包是java.sql.Connection而不是com.mysql.jdbc.Connectionimport java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList;import java.util.List;public class TestJDBC { public static void main(String[] args) { Connection conn=null; Statement st=null; ResultSet rs=null; try { //1、装载驱动 Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } try { //2、链接数据库,使用com.mysql.jdbc.Connection包会出错 Listlist=new ArrayList (); conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/sw_database?user=root&password=root"); //3、创建连接语句 st=conn.createStatement(); //4、执行SQL语句获得结果集 rs=st.executeQuery("select * from sw_user"); //5、循环获得数据库字段生成对象 while(rs.next()) { int id=rs.getInt("id"); String username=rs.getString("username"); String password=rs.getString("password"); User user=new User(id,username,password); list.add(user); } //6、遍历对象列表 for(User user:list) { System.out.println(user.toString()); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { //7、关闭结果集 try { if(rs!=null) { rs.close(); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } //7、关闭连接语句 try { if(st!=null) { st.close(); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } //7、关闭数据库连接 try { if(conn!=null) { conn.close(); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }
自己重写的,使用了BeanUtils 的反射技术 驱动管理器得到连接 连接得到sql语句 语句执行得到结果集
package com.swift.jdbc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.util.ArrayList;import java.util.List;import org.apache.commons.beanutils.BeanUtils;import com.swift.bean.User;public class JDBC_Demo { public static void main(String[] args) throws Exception { Class.forName("com.mysql.jdbc.Driver").newInstance(); String user="root"; String password="root"; String url="jdbc:mysql://127.0.0.1:3306/swift_db"; Connection con=DriverManager.getConnection(url, user, password); PreparedStatement sql = con.prepareStatement("select * from user"); ResultSet result = sql.executeQuery(); Listlist =new ArrayList<>(); while(result.next()) { int uid=result.getInt("uid"); String uname=result.getString("uname"); String upassword=result.getString("upassword"); Class clazz=Class.forName("com.swift.bean.User"); User userObj=(User) clazz.newInstance(); BeanUtils.setProperty(userObj,"uid",uid); BeanUtils.setProperty(userObj,"uname",uname); BeanUtils.setProperty(userObj,"upassword",upassword); list.add(userObj); } System.out.println(list); }}
使用的Jar包如下