话不多说直接上代码
定义四个不变的量
将建立连接封装好
public class DBUtil {
private static final String DRIVER = "com.mysql.cj.jdbc.Driver";
private static final String URL = "jdbc:mysql://127.0.0.1:3306/demo";
private static final String USERNAME = "root";
private static final String PASSWORD = "12345";
public static Connection getConnection() {
Connection connection = null;
try {
Class.forName(DRIVER);
connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);
} catch (Exception e) {
e.printStackTrace();
}
return connection;
}
public static void closeConnection(Connection connection) {
if (connection != null) {
try {
connection.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
public static void closeStatement(Statement statement) {
if (statement != null) {
try {
statement.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
public static void closePreparedStatement(PreparedStatement preparedStatement) {
if (preparedStatement != null) {
try {
preparedStatement.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
public static void closeResultSet(ResultSet resultSet) {
if (resultSet != null) {
try {
resultSet.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
写一个插入语句
public class UserDao {
private static final String INSERT_USER = "INSERT INTO userinfo (username,password,email,age,is_admin) VALUE(?,?,?,?,?)";
public boolean insertUser(User user) {
boolean result = false;
try {
Connection connection = DBUtil.getConnection();
PreparedStatement preparedStatement = connection.prepareStatement(INSERT_USER);
preparedStatement.setString(1, user.getUsername());
preparedStatement.setString(2, user.getPassword());
preparedStatement.setString(3, user.getEmail());
preparedStatement.setInt(4, user.getAge());
preparedStatement.setInt(5, user.isAdmin() ? 1 : 0);
int rows = preparedStatement.executeUpdate();
if(rows == 1){
result = true;
}
DBUtil.closePreparedStatement(preparedStatement);
DBUtil.closeConnection(connection);
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
}