JDBC学习笔记(4)—PreparedStatement执行SQL语句
来源:互联网 发布:人肉俄罗斯转盘 知乎 编辑:程序博客网 时间:2024/05/16 14:22
1.PreparedStatement与PreparedStatement区别
PreparedStatement和Statement的区别主要有三个:(1)PreparedStatement比Statement效率高。(2)语法不一样。 (3)PreparedStatement数据更安全,可以防止mysql注入。
2.PreparedStatemnt执行DML语句
2.1数据库连接代码
package com.JDBC;import java.sql.*;public class JDBCconnection { private String url="jdbc:mysql://localhost:3306/user"; private String user="root"; private String password="123456"; private Connection conn=null; private PreparedStatement ps=null; private ResultSet rs=null; public Connection getConn() throws ClassNotFoundException, SQLException { Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection(url,user,password); System.out.println(conn); return conn; } public void close(PreparedStatement ps,Connection conn) { if(ps!=null) { try { ps.close(); } catch (SQLException e) { e.printStackTrace(); } } if(conn!=null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } public void close(ResultSet rs,PreparedStatement ps,Connection conn) { if(rs!=null) { try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } } if(ps!=null) { try { ps.close(); } catch (SQLException e) { e.printStackTrace(); } } if(conn!=null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } }}
2.2插入数据
package com.JDBC;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.SQLException;public class DMLPSInsert extends JDBCconnection{ private Connection conn=null; private PreparedStatement ps=null; public void insert() throws ClassNotFoundException, SQLException { //数据库连接 conn=super.getConn(); //编写SQL语句 String sql="insert into login(username,password) values(?,?)"; //执行预编译SQL语句 ps=conn.prepareStatement(sql); //设置参数 ps.setString(1, "zzw"); ps.setString(2, "234567"); int count=ps.executeUpdate(); System.out.println(count); if(count>0) { System.out.println("数据插入成功!"); }else { System.out.println("数据插入失败!"); } super.close(ps, conn); }}
程序运行结果:
数据库结果:
2.3更新数据
package com.JDBC;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.SQLException;public class DMLPSUpdate extends JDBCconnection{ private Connection conn=null; private PreparedStatement ps=null; public void update() throws ClassNotFoundException, SQLException { //数据库连接 conn=super.getConn(); //编写SQL语句 String sql="update login set password=? where username=?"; //执行预编译SQL语句 ps=conn.prepareStatement(sql); //设置参数 ps.setString(1, "hahaha"); ps.setString(2, "zzw"); int count=ps.executeUpdate(); System.out.println(count); if(count>0) { System.out.println("数据更新成功!"); }else { System.out.println("数据更新失败!"); } super.close(ps, conn); }}
程序运行结果:
数据库结果:
2.4删除数据
package com.JDBC;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.SQLException;public class DMLPSDelete extends JDBCconnection{ private Connection conn=null; private PreparedStatement ps=null; public void delete() throws ClassNotFoundException, SQLException { //数据库连接 conn=super.getConn(); //编写SQL语句 String sql="delete from login where username=?"; //执行预编译SQL语句 ps=conn.prepareStatement(sql); //设置参数 ps.setString(1, "zzw"); int count=ps.executeUpdate(); System.out.println(count); if(count>0) { System.out.println("数据删除成功!"); }else { System.out.println("数据删除失败!"); } super.close(ps, conn); }}
程序运行结果:
数据库结果:
3.PreparedStatment执行DQL语句
package com.JDBC;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;public class DQLPSselect extends JDBCconnection{ protected Connection conn=null; protected PreparedStatement ps=null; protected ResultSet rs=null; public void selectAll() throws ClassNotFoundException, SQLException { //数据库连接 conn=super.getConn(); //编写SQL语句 String sql="select * from login"; //预编译SQL语句 ps=conn.prepareStatement(sql); ResultSet rs=ps.executeQuery(sql); while(rs.next()) { System.out.println("用列名称取值: id:"+rs.getInt("id")+" username:"+rs.getString("username")+" password:"+rs.getString("password")); System.out.println("用索引取值: id:"+rs.getInt(1)+" username:"+rs.getString(2)+" password:"+rs.getString(3)); } super.close(rs, ps, conn); }}
程序运行结果:
数据库结果:
阅读全文
0 0
- JDBC学习笔记(4)—PreparedStatement执行SQL语句
- JDBC学习笔记(四):执行SQL语句(Statement与PreparedStatement)
- JDBC学习笔记(3)—Statement执行SQL语句
- JDBC:PreparedStatement预编译执行SQL语句
- JDBC学习笔记之dml语句(PreparedStatement&Statement)
- JDBC进阶之PreparedStatement执行SQL语句(MySQL)
- [疯狂Java]JDBC:PreparedStatement预编译执行SQL语句
- [疯狂Java]JDBC:PreparedStatement预编译执行SQL语句
- java基础巩固---jdbc接口PreparedStatement执行sql语句
- JDBC PreparedStatement高级特性:批量执行sql语句
- 使用PreparedStatement执行sql语句
- JDBC编程学习笔记(二)——执行SQL语句 ExecuteSQL.java
- JDBC(4)—Preparedstatement
- Jdbc执行sql语句
- JDBC执行SQL语句
- PreparedStatement显示执行的SQL语句
- 关于JDBC(二)--- 执行SQL语句
- JDBC学习笔记(5)之PreparedStatement、ResultSetMetaData实现
- 算法分析与设计课程作业第九周#1#2#3
- 大整数排序
- LCA最近公共祖先
- Java基础——多线程
- 我的编程日记
- JDBC学习笔记(4)—PreparedStatement执行SQL语句
- ADPCM音频压缩
- 游戏2
- poj 2774 Long Long Message
- Effective Java
- C++ MD5
- 文章标题
- 数据结构 顺序查找和二分查找
- 软件工程(C编码实践篇)学习总结