jdbc手动连接数据库查询数据实例
public class User {
public User(){
}
public User(int id,String name,int age,String sex,String tel,String addr){
this.id = id;
this.name = name;
this.age = age;
this.sex = sex;
this.tel = tel;
this.addr = addr;
}
private int id;
private String name;
private int age;
private String sex;
private String tel;
private String addr;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getTel() {
return tel;
}
public void setTel(String tel) {
this.tel = tel;
}
public String getAddr() {
return addr;
}
public void setAddr(String addr) {
this.addr = addr;
}
}
public static List<User> query() {
String url = "jdbc:mysql://localhost:3306/test?characterEncoding=utf-8";
String user = "root";
String password = "123456";
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
List<User> list = new ArrayList<User>();
try { //1.加载驱动程序
Class.forName("com.mysql.jdbc.Driver"); //com.mysql.jdbc.Driver
//2.获得数据库链接
conn = DriverManager.getConnection(url, user, password);
String sql = "select * from t_user";
//3.通过数据库的连接操作数据库,实现增删改查
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
//插入数据
//String sql = "insert into t_user(id,username,password) values(2,'张三','123'),(10,'李四','123456');";
//statement.executeUpdate(sql);
while(rs.next()){
User user2 = new User(rs.getInt("id"),rs.getString("name"),rs.getInt("age"),rs.getString("sex"),rs.getString("tel"),rs.getString("addr"));
list.add(user2);
}
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
ps.close();
rs.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
return list;
}
public static void main(String[] args) {
List userList=query();
for(int i=0;i<userList.size();i++){
User user=(User) userList.get(i);
System.out.println(user.getId()+user.getName()+user.getAge()+user.getSex()+user.getAddr());
}
//System.out.println(users);
}
用到的mysql版本:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.34</version>
</dependency>
包过的错:
CLIENT_PLUGIN_AUTH is required :因为mysql版本问题