JDBC 增、删、改、查

增、删、改方法

public class JdbcTest {

/**
* 提供: 增 、删、改3个功能的通用方法
*
* @param sql
* @param args sql 中占位符的值,可以用多个逗号隔开
*/
public void update(String sql, Object... args) throws Exception {
Connection connection = null;
PreparedStatement preparedStatement = null;

try {
connection = JdbcUtils.getConnection();
System.out.println(sql);
preparedStatement = connection.prepareStatement(sql);

for (int i = 0; i < args.length; i++) {
preparedStatement.setObject(i + 1, args[i]);
}
preparedStatement.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
} finally {
JdbcUtils.release(preparedStatement, connection, null);
}
}

@Test
public void insert() throws Exception {
String sql = "INSERT INTO user(user_name,sex,user_role,password,id_card,register_time)"
+ " VALUES(?,?,?,?,?,?)";

update(sql,"小红","女","VIP用户","xh","654...","2019-01-25 14:02:03");
}

@Test
public void delete() throws Exception {
// 删除 user 表中 user_name 为小红的信息
String sql = "DELETE FROM user WHERE user_name=?";
update(sql,"小红");
}

@Test
public void modify() throws Exception {
// user 表中 user_name 为小红 的用户,将其 user_role 改为 普通用户
String sql = "UPDATE user set user_role=? WHERE user_name=?";
update(sql,"普通用户","小红");
}
}
通用查询方法封装

    利用面向对象编程的思想,我们新建了一个 User 类,此类变量为 user 表对应的列名,代码如下:

package com.xww;

public class User {

public String userName;
public String password;
public String registerTime;
public String sex;
public String userRole;
public String idCard;

public User(String userName, String password, String registerTime,
String sex, String userRole, String idCard) {
super();
this.userName = userName;
this.sex = sex;
this.userRole = userRole;
this.password = password;
this.idCard = idCard;
this.registerTime = registerTime;
}

public String getUserName() {
return userName;
}

public void setUserName(String userName) {
this.userName = userName;
}

public String getSex() {
return sex;
}

public void setSex(String sex) {
this.sex = sex;
}

public String getUserRole() {
return userRole;
}

public void setUserRole(String userRole) {
this.userRole = userRole;
}

public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}

public String getIdCard() {
return idCard;
}

public void setIdCard(String idCard) {
this.idCard = idCard;
}

public String getRegisterTime() {
return registerTime;
}

public void setRegisterTime(String registerTime) {
this.registerTime = registerTime;
}

@Override
public String toString() {
return "User [userName=" + userName + ", password=" + password + ", registerTime=" + registerTime + ", sex="
+ sex + ", userRole=" + userRole + ", idCard=" + idCard + "]";
}
}
    那么查询 user 表的方法就可以写为这样(不够灵活):

public User query(String sql) {
Connection connection = null;
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
User user = null;

try {
connection = JdbcUtils.getConnection();
System.out.println(sql);
preparedStatement = connection.prepareStatement(sql);
resultSet = preparedStatement.executeQuery(http://www.amjmh.com);

while (resultSet.next()) {
user = new User(resultSet.getString(2), resultSet.getString(3), resultSet.getString(4),
resultSet.getString(5), resultSet.getString(6), resultSet.getString(7));
System.out.println(user.toString());
}
} catch (Exception e) {
e.printStackTrace();
} finally {
JdbcUtils.release(preparedStatement, connection, resultSet);
}
return user;
}

 

---------------------

转载于:https://www.cnblogs.com/hyhy904/p/11335090.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JDBC(Java Database Connectivity)是一种用于执行SQL语句的Java API,它提供了一种连接到数据库的标准方式。下面是JDBC的详细步骤: 1. 加载JDBC驱动程序 在使用JDBC之前,必须加载适合于数据库的JDBC驱动程序。不同的数据库有不同的JDBC驱动程序,因此你需要根据你使用的数据库加载相应的驱动程序。例如: ``` Class.forName("com.mysql.jdbc.Driver"); ``` 2. 建立数据库连接 在加载完JDBC驱动程序之后,就可以建立与数据库之间的连接了。连接的过程需要提供数据库的URL、用户名和密码。例如: ``` String url = "jdbc:mysql://localhost:3306/test?useSSL=false"; String user = "root"; String password = "123456"; Connection connection = DriverManager.getConnection(url, user, password); ``` 3. 创建Statement对象 在建立好数据库连接之后,就可以创建一个Statement对象。Statement对象用于执行SQL语句并返回结果。例如: ``` Statement statement = connection.createStatement(); ``` 4. 执行SQL语句 接下来,可以使用Statement对象执行SQL语句。例如: ``` String sql = "SELECT * FROM user"; ResultSet resultSet = statement.executeQuery(sql); ``` 如果要执行操作,则可以使用Statement对象的executeUpdate()方法。例如: ``` String sql = "INSERT INTO user(name, age) VALUES('张三', 20)"; statement.executeUpdate(sql); ``` 5. 处理结果集 如果执行的是询操作,则需要处理询结果集。询结果集以ResultSet对象的形式返回。例如: ``` while (resultSet.next()) { String name = resultSet.getString("name"); int age = resultSet.getInt("age"); System.out.println("name: " + name + ", age: " + age); } ``` 6. 关闭连接 在完成JDBC操作之后,需要关闭与数据库的连接。例如: ``` resultSet.close(); statement.close(); connection.close(); ``` 以上就是JDBC的详细步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值