您好,欢迎来到年旅网。
搜索
您的当前位置:首页jdbc操作数据库语句

jdbc操作数据库语句

来源:年旅网

非常有用的jdbc操作数据库语句,记录下来,以方便以后的查询。 public class PersonDao { // 增加操作 public void insert(Person person) throws Exception; // 修改操作 public void update(Person person) throws Exception; // 删除操作 public void del

非常有用的jdbc操作数据库语句,记录下来,以方便以后的查询。

public class PersonDao {

 // 增加操作 
 public void insert(Person person) throws Exception;
 
 // 修改操作 
 public void update(Person person) throws Exception;
 // 删除操作 
 public void delete(String id) throws Exception ;
 // 按ID查询操作 
 public Person queryById(String id) throws Exception;
 // 查询全部 
 public List queryAll() throws Exception;
 // 模糊查询 
 public List queryByLike(String cond) throws Exception;
}

 // 此类需要完成具体的数据库操作,需要JDB代码 
 public class PersonDAOImpl implements PersonDAO 
 { 
 // 增加操作 
 public void insert(Person person) throws Exception 
 { 
 String sql = "INSERT INTO person (id,name,password,age,email) VALUES (?,?,?,?,?)" ; 
 PreparedStatement pstmt = null ; 
 DataBaseConnection dbc = null ; 
 
 // 下面是针对数据库的具体操作 
 try 
 { 
 // 连接数据库 
 dbc = new DataBaseConnection() ; 
 pstmt = dbc.getConnection().prepareStatement(sql) ; 
 pstmt.setString(1,person.getId()) ; 
 pstmt.setString(2,person.getName()) ; 
 pstmt.setString(3,person.getPassword()) ; 
 pstmt.setInt(4,person.getAge()) ; 
 pstmt.setString(5,person.getEmail()) ; 
 // 进行数据库更新操作 
 pstmt.executeUpdate() ; 
 pstmt.close() ; 
 } 
 catch (Exception e) 
 { 
 throw new Exception("操作出现异常") ; 
 } 
 finally 
 { 
 // 关闭数据库连接 
 dbc.close() ; 
 } 
 } 
 // 修改操作 
 public void update(Person person) throws Exception 
 { 
 String sql = "UPDATE person SET name=?,password=?,age=?,email=? WHERE id=?" ; 
 PreparedStatement pstmt = null ; 
 DataBaseConnection dbc = null ; 
 
 // 下面是针对数据库的具体操作 
 try 
 { 
 // 连接数据库 
 dbc = new DataBaseConnection() ; 
 pstmt = dbc.getConnection().prepareStatement(sql) ; 
 pstmt.setString(1,person.getName()) ; 
 pstmt.setString(2,person.getPassword()) ; 
 pstmt.setInt(3,person.getAge()) ; 
 pstmt.setString(4,person.getEmail()) ; 
 pstmt.setString(5,person.getId()) ; 
 // 进行数据库更新操作 
 pstmt.executeUpdate() ; 
 pstmt.close() ; 
 } 
 catch (Exception e) 
 { 
 throw new Exception("操作出现异常") ; 
 } 
 finally 
 { 
 // 关闭数据库连接 
 dbc.close() ; 
 } 
 } 
 // 删除操作 
 public void delete(String id) throws Exception 
 { 
 String sql = "DELETE FROM person WHERE id=?" ; 
 PreparedStatement pstmt = null ; 
 DataBaseConnection dbc = null ; 
 
 // 下面是针对数据库的具体操作 
 try 
 { 
 // 连接数据库 
 dbc = new DataBaseConnection() ; 
 pstmt = dbc.getConnection().prepareStatement(sql) ; 
 pstmt.setString(1,id) ; 
 // 进行数据库更新操作 
 pstmt.executeUpdate() ; 
 pstmt.close() ; 
 } 
 catch (Exception e) 
 { 
 throw new Exception("操作出现异常") ; 
 } 
 finally 
 { 
 // 关闭数据库连接 
 dbc.close() ; 
 } 
 } 
 // 按ID查询操作 
 public Person queryById(String id) throws Exception 
 { 
 Person person = null ; 
 String sql = "SELECT id,name,password,age,email FROM person WHERE id=?" ; 
 PreparedStatement pstmt = null ; 
 DataBaseConnection dbc = null ; 
 
 // 下面是针对数据库的具体操作 
 try 
 { 
 // 连接数据库 
 dbc = new DataBaseConnection() ; 
 pstmt = dbc.getConnection().prepareStatement(sql) ; 
 pstmt.setString(1,id) ; 
 // 进行数据库查询操作 
 ResultSet rs = pstmt.executeQuery() ; 
 if(rs.next()) 
 { 
 // 查询出内容,之后将查询出的内容赋值给person对象 
 person = new Person() ; 
 person.setId(rs.getString(1)) ; 
 person.setName(rs.getString(2)) ; 
 person.setPassword(rs.getString(3)) ; 
 person.setAge(rs.getInt(4)) ; 
 person.setEmail(rs.getString(5)) ; 
 } 
 rs.close() ; 
 pstmt.close() ; 
 } 
 catch (Exception e) 
 { 
 throw new Exception("操作出现异常") ; 
 } 
 finally 
 { 
 // 关闭数据库连接 
 dbc.close() ; 
 } 
 return person ; 
 } 
 // 查询全部 
 public List queryAll() throws Exception 
 { 
 List all = new ArrayList() ; 
 String sql = "SELECT id,name,password,age,email FROM person" ; 
 PreparedStatement pstmt = null ; 
 DataBaseConnection dbc = null ; 
 
 // 下面是针对数据库的具体操作 
 try 
 { 
 // 连接数据库 
 dbc = new DataBaseConnection() ; 
 pstmt = dbc.getConnection().prepareStatement(sql) ; 
 // 进行数据库查询操作 
 ResultSet rs = pstmt.executeQuery() ; 
 while(rs.next()) 
 { 
 // 查询出内容,之后将查询出的内容赋值给person对象 
 Person person = new Person() ; 
 person.setId(rs.getString(1)) ; 
 person.setName(rs.getString(2)) ; 
 person.setPassword(rs.getString(3)) ; 
 person.setAge(rs.getInt(4)) ; 
 person.setEmail(rs.getString(5)) ; 
 
 // 将查询出来的数据加入到List对象之中 
 all.add(person) ; 
 } 
 rs.close() ; 
 pstmt.close() ; 
 } 
 catch (Exception e) 
 { 
 throw new Exception("操作出现异常") ; 
 } 
 finally 
 { 
 // 关闭数据库连接 
 dbc.close() ; 
 } 
 return all ; 
 } 
 // 模糊查询 
 public List queryByLike(String cond) throws Exception 
 { 
 List all = new ArrayList() ; 
 String sql = "SELECT id,name,password,age,email FROM person WHERE name LIKE ? or email LIKE ?" ; 
 PreparedStatement pstmt = null ; 
 DataBaseConnection dbc = null ; 
 
 // 下面是针对数据库的具体操作 
 try 
 { 
 // 连接数据库 
 dbc = new DataBaseConnection() ; 
 pstmt = dbc.getConnection().prepareStatement(sql) ; 
 // 设置模糊查询条件 
 pstmt.setString(1,"%"+cond+"%") ; 
 pstmt.setString(2,"%"+cond+"%") ; 
 // 进行数据库查询操作 
 ResultSet rs = pstmt.executeQuery() ; 
 while(rs.next()) 
 { 
 // 查询出内容,之后将查询出的内容赋值给person对象 
 Person person = new Person() ; 
 person.setId(rs.getString(1)) ; 
 person.setName(rs.getString(2)) ; 
 person.setPassword(rs.getString(3)) ; 
 person.setAge(rs.getInt(4)) ; 
 person.setEmail(rs.getString(5)) ; 
 
 // 将查询出来的数据加入到List对象之中 
 all.add(person) ; 
 } 
 rs.close() ; 
 pstmt.close() ; 
 } 
 catch (Exception e) 
 { 
 throw new Exception("操作出现异常") ; 
 } 
 finally 
 { 
 // 关闭数据库连接 
 dbc.close() ; 
 } 
 return all ; 
 } 
 }; 

PS:

1.pstmt操作时,第一个空格处,应该填写1,而不是0,否则会报错误的列索引;

2.查询完resultSet以后,先要对其进行非空判断,如果存在,再进行下一步的赋值;

3.数据库每次连接时,都要记住关闭,当然完全可以用数据库连接池来取代它,后面会对此做改进。

Copyright © 2019- oldu.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务