jdbc链接数据库
1.使用Statement,创建Statement对象,但是这种不安全,可以通过在数据库密码中添加or语句来使登录强行成功。
/*
* 有点不安全的一种
* */
package com.exp2;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
public class Test1 {
public static void main(String[] args) throws Exception {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://10.21.1.10:3306/oracle?useUnicode=true&characterEncoding=UTF-8";
String user = "root";
String pwd = "zhang";
Connection conn = DriverManager.getConnection(url, user, pwd);
Statement stmt = conn.createStatement();
String sql = "select * from user";
ResultSet rs = stmt.executeQuery(sql);
List<User> list = new ArrayList<User>();
while(rs.next()){
int id = rs.getInt("id");
String name = rs.getString("name");
int age = rs.getInt("age");
String money = rs.getString("money");
String dept = rs.getString("dept");
User u = new User(id, name, age, money, dept);
list.add(u);
}
System.out.println(list);
}
}
2.使用PreparedStatement,创建PreparedStatement对象,但是这种相对安全,必须通过正确的账号密码操作。
/*
* 另一种
* */
package com.exp1;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Test {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://10.21.1.10:3306/oracle?useUnicode=true&characterEncoding=UTF-8";
String user = "root";
String pwd = "zhang";
Connection conn = DriverManager.getConnection(url, user, pwd);
String sql = "select *from student where score > ? and age < ?";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setDouble(1, 60);
ps.setInt(2, 20);
ResultSet rs = ps.executeQuery();
while(rs.next()){
System.out.println(rs.getString("name")+"---"+rs.getInt("age")+"---"+rs.getDouble("score"));
}
rs.close();
ps.close();
conn.close();
}
}
可能写的不是太好,希望看到的大佬给点建议,萌新对比采纳。