1. 实体类代码
package user;
public class user {
private int uid ;
private int age;
private String name;
public user() {
}
public int getUid() {
return uid;
}
public void setUid(int uid) {
this.uid = uid;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "user{" +
"uid=" + uid +
", age=" + age +
", name='" + name + '\'' +
'}';
}
public user(int uid, int age, String name) {
this.uid = uid;
this.age = age;
this.name = name;
}
}
2.数据库链接
package jdbc;
import java.sql.*;
public class TestJdbc {
public static Connection getConnnetion() throws ClassNotFoundException, SQLException {
//声明驱动
Class.forName("com.mysql.jdbc.Driver");
//声明连接信息
String url ="jdbc:mysql://localhost:3306/student?useSSL=true&characterEncoding=utf-8&serverTimezone=GMT";
String username = "root";
String password = "*****";
Connection connection = DriverManager.getConnection(url,username,password);
return connection;
}
//释放资源
public static void relase(Connection connection, Statement statement, ResultSet resultSet) throws SQLException {
if (resultSet!=null){
resultSet.close();
}
if (connection!=null){
connection.close();
}
if (statement!=null){
statement.close();
}
}
}
3.操作类
package jdbc;
import org.junit.Test;
import user.user;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
public class TestJdbc_02 {
@Test
public void test() throws SQLException, ClassNotFoundException {
Connection connnetion = TestJdbc.getConnnetion();
//sql语句
String sql ="select * from user";
//预编译对象
PreparedStatement preparedStatement = connnetion.prepareStatement(sql);
ResultSet resultSet = preparedStatement.executeQuery();
List<user> uesr1 = new ArrayList<user>();
//处理结果集
while (resultSet.next()){
user u = new user();
u.setAge(resultSet.getInt("age"));
u.setName(resultSet.getString("name"));
u.setUid(resultSet.getInt("uid"));
uesr1.add(u);
}
for (user u1:uesr1){
System.out.println(u1);
}
TestJdbc.relase(connnetion,preparedStatement,resultSet);
}
}
4.运行结果
数据库数据:
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`age` int NULL DEFAULT NULL,
`uid` int NOT NULL,
PRIMARY KEY (`uid`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO `user` VALUES ('lin', 1, 1);
INSERT INTO `user` VALUES ('jia', 2, 3);
INSERT INTO `user` VALUES ('zeng', 3, 4);
SET FOREIGN_KEY_CHECKS = 1;
备注:
Mysql 5.0版本和 Mysql 8.0版本的驱动是不一样的:
Mysql 5.0的版本驱动为: Class.forName(“com.mysql.jdbc.Driver”);
Mysql 8.0的版本驱动为: Class.forName(“com.mysql.cj.jdbc.Driver”);
同时在url中要加入useSSL=true&characterEncoding=utf-8&serverTimezone=GMT编码类型和时间地区