测试方向基础——JDBC数据库连接技术浅析( 四 )


效果如下:
插入
封装的意识:我们不妨把建立连接,关闭连接的代码装在一个类里 。
package xxx.www.xhx;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class DBUtils {static String connUrl = "jdbc:mysql://127.0.0.1:3306/test0509?useSSL=true";static String driverStr = "com.mysql.jdbc.Driver";static {try {Class.forName(driverStr);} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}}public static Connection openConnection() {Connection conn = null;try {conn = DriverManager.getConnection(connUrl, "root", "123456");} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return conn;}public static void closeCoonection(Connection conn) {if (conn != null) {try {conn.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}
插入一条数据
package xxx.www.xhx;import java.lang.Thread.State;import java.sql.Connection;import java.sql.SQLException;import java.sql.Statement;//插入public class Demo3 {public static void main(String[] args) throws SQLException {String insert_sql="INSERT INTO user(name, password, age) "+ "VALUES ('tom13', '123', '20')";Connection conn = DBUtils.openConnection();Statement stmt = conn.createStatement();int count = stmt.executeUpdate(insert_sql);//影响了多少行System.out.println(count);stmt.close();DBUtils.closeCoonection(conn);}}
输出为1.
用实现插入:
package xxx.www.xhx;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.SQLException;import com.mysql.jdbc.Driver;public class Demo5 {public static void main(String[] args) throws ClassNotFoundException, SQLException {Class.forName("com.mysql.jdbc.Driver");String connStr = "jdbc:mysql://127.0.0.1:3306/test0509?useSSL=true";String sql = "INSERT INTOuser (name,password,age) VALUES (?, ?, ?)";Connection connection = DriverManager.getConnection(connStr, "root", "123456");PreparedStatement pstmt = connection.prepareStatement(sql);for (int i = 15; i < 29; i++) {pstmt.setString(1, "tom" + i);pstmt.setString(2, "11112333");pstmt.setInt(3, 33);int count = pstmt.executeUpdate();// 不放循环里,只插入一次}pstmt.close();connection.close();}}
查看表,可以发现插入成功:
更新操作,只需要修改sql语句即可
user set age =?
更新操作封装时,可能出现参数个数不确定的问题,浅浅给出一个代码,不想看就别看了 。
public static int update(String sql, Object...objects) {return 0;}