首页 / JAVA / JavaWeb开发之JDBC
JavaWeb开发之JDBC
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了JavaWeb开发之JDBC,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含5402字,纯文字阅读大概需要8分钟。
内容图文
![JavaWeb开发之JDBC](/upload/InfoBanner/zyjiaocheng/508/6aacb33460aa42e591095529f57004eb.jpg)
首先导入数据库的驱动架包,并添加依赖
1.Dao层是专门负责和数据库交互,数据处理的代码层
2.Dao是接口,DaoImpl是Dao接口的实现类
3.Java代码连接数据库的步骤:“贾琏欲执事”口诀
(1)贾:加载数据库注册驱动,将数据库驱动注册到DriverManager中去。
Class.forName("com.mysql.jdbc.Driver");
(2)琏:创建连接数据库的对象,通过DriverManager获取
Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/jdbcdemo", "root", "123456");
(3)欲:创建预编译或非预编译 SQL语句对象
String sql="update t_student set name = ?,age = ? where id = ?";
PrepardStatment ps =conn.preparedStatment(sql);
ps.setString(1,"小明");
ps.setInt(2,20);
ps.setInt(3,2);
(4)执:执行SQL语句
int row =ps.executeUpdate();
(5)事:释放资源(先创后放)
conn.close();
ps.close();
具体代码:
@Override public int insert(Student stu) { String sql = "insert into t_student(name,age)values(?,?)"; Connection conn = null; PreparedStatement ps = null; try { // 1.加载注册驱动 Class.forName("com.mysql.jdbc.Driver"); // 2.获取数据库连接对象 conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/jdbcdemo", "root", "root"); // 3.创建预编译语句对象 ps = conn.prepareStatement(sql); // 3.1设置预编译语句对象占位符对应的参数值 ps.setString(1, stu.getName()); ps.setInt(2, stu.getAge()); // 4.执行SQL语句 (注意:方法不能带sql参数) int row = ps.executeUpdate(); return row; } catch (Exception e) { e.printStackTrace(); } finally { try { if (ps != null) { ps.close(); } } catch (SQLException e) { e.printStackTrace(); } finally { try { if (conn != null) { conn.close(); } } catch (SQLException e) { e.printStackTrace(); } } } return 0; } @Override public int delete(Integer id) { String sql = "delete from t_student where id = ?"; Connection conn = null; PreparedStatement ps = null; try { // 1.加载注册驱动 Class.forName("com.mysql.jdbc.Driver"); // 2.获取数据库连接对象 conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/jdbcdemo", "root", "root"); // 3.创建预编译语句对象 ps = conn.prepareStatement(sql); // 3.1设置预编译语句对象占位符对应的参数值 ps.setInt(1, id); // 4.执行SQL语句 (注意:方法不能带sql参数) int row = ps.executeUpdate(); return row; } catch (Exception e) { e.printStackTrace(); } finally { try { if (ps != null) { ps.close(); } } catch (SQLException e) { e.printStackTrace(); } finally { try { if (conn != null) { conn.close(); } } catch (SQLException e) { e.printStackTrace(); } } } return 0; } @Override public int update(Student stu) { String sql = "update t_student set name = ?,age = ? where id = ?"; Connection conn = null; PreparedStatement ps = null; try { // 1.加载注册驱动 Class.forName("com.mysql.jdbc.Driver"); // 2.获取数据库连接对象 conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/jdbcdemo", "root", "root"); // 3.创建预编译语句对象 ps = conn.prepareStatement(sql); // 3.1设置预编译语句对象占位符对应的参数值 ps.setString(1, stu.getName()); ps.setInt(2, stu.getAge()); ps.setInt(3, stu.getId()); // 4.执行SQL语句 (注意:方法不能带sql参数) int row = ps.executeUpdate(); return row; } catch (Exception e) { e.printStackTrace(); } finally { try { if (ps != null) { ps.close(); } } catch (SQLException e) { e.printStackTrace(); } finally { try { if (conn != null) { conn.close(); } } catch (SQLException e) { e.printStackTrace(); } } } return 0; } @Override public Student selectByPrimaryKey(Integer id) { String sql = "select * from t_student where id = ?"; Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; try { // 1.加载注册驱动 Class.forName("com.mysql.jdbc.Driver"); // 2.获取数据库连接对象 conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/jdbcdemo", "root", "root"); // 3.创建预编译语句对象 ps = conn.prepareStatement(sql); ps.setInt(1, id); // 4.执行sql语句 rs = ps.executeQuery(); while (rs.next()) { String name = rs.getString("name"); int age = rs.getInt("age"); // 封装Student对象 Student stu = new Student(id, name, age); //返回Student对象 return stu; } } catch (Exception e) { e.printStackTrace(); } finally { try { if (rs != null) { rs.close(); } } catch (SQLException e) { e.printStackTrace(); } finally { try { if (ps != null) { ps.close(); } } catch (SQLException e) { e.printStackTrace(); } finally { try { if (conn != null) { conn.close(); } } catch (SQLException e) { e.printStackTrace(); } } } } return null; } @Override public List<Student> selectList() { List<Student> students = new ArrayList<>(); String sql = "select * from t_student"; Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; try { // 1.加载注册驱动 Class.forName("com.mysql.jdbc.Driver"); // 2.获取数据库连接对象 conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/jdbcdemo", "root", "root"); // 3.创建预编译语句对象 ps = conn.prepareStatement(sql); // 4.执行sql语句 rs = ps.executeQuery(); while (rs.next()) { int id = rs.getInt("id"); String name = rs.getString("name"); int age = rs.getInt("age"); // 封装Student对象 Student stu = new Student(id, name, age); // 学生对象添加到集合中 students.add(stu); } } catch (Exception e) { e.printStackTrace(); } finally { try { if (rs != null) { rs.close(); } } catch (SQLException e) { e.printStackTrace(); } finally { try { if (ps != null) { ps.close(); } } catch (SQLException e) { e.printStackTrace(); } finally { try { if (conn != null) { conn.close(); } } catch (SQLException e) { e.printStackTrace(); } } } } return students; }
JavaWeb开发之JDBC
标签:获取数据 tac HERE 方法 close 小明 mysq ext 连接
本文系统来源:https://www.cnblogs.com/luojack/p/10888303.html
内容总结
以上是互联网集市为您收集整理的JavaWeb开发之JDBC全部内容,希望文章能够帮你解决JavaWeb开发之JDBC所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。