首页 / JAVA / java基础第21天_mysql
java基础第21天_mysql
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java基础第21天_mysql,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含6052字,纯文字阅读大概需要9分钟。
内容图文
![java基础第21天_mysql](/upload/InfoBanner/zyjiaocheng/466/e06d0361fdaf49e2ae4e04f9656a43b9.jpg)
2.对比Statement和PreparedStatement的大批量操作耗时?(100000记录)
3.事务特点?
4.mysql client如何控制事务?
-------------------------------------------
实践PreparedStament的CRUD操作。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
import org.junit.Test;
/**
* 使用PreparedStatement
*/
public class TestJDBC3 {
@Test
public void insert(){
try {
//1.注册驱动
String driver = "com.mysql.jdbc.Driver" ;
Class.forName(driver);
//2.建立连接
String url = "jdbc:mysql://localhost:3306/mybase" ;
String username = "root" ;
String password = "root" ;
Connection conn = DriverManager.getConnection(url, username, password);
//3.创建语句对象
String sql = "insert into stus(id,name,age) values(?,?,?)" ;
PreparedStatement ppst = conn.prepareStatement(sql);
ppst.setInt(1, 100);
ppst.setString(2, "tomas");
ppst.setInt(3, 23);
ppst.execute();
ppst.close();
conn.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
/**
* update , id = 1, age = 10
*/
@Test
public void update() {
try {
//1.注册驱动
String driver = "com.mysql.jdbc.Driver" ;
Class.forName(driver);
//2.建立连接
String url = "jdbc:mysql://localhost:3306/mybase" ;
String username = "root" ;
String password = "root" ;
Connection conn = DriverManager.getConnection(url, username, password);
//3.创建语句对象
Statement st = conn.createStatement();
String sql= "update stus set age = ? where id = ?" ;
PreparedStatement ppst = conn.prepareStatement(sql);
ppst.setInt(1, 10);
ppst.setInt(2, 1);
boolean b = ppst.execute();
System.out.println("" + b);
st.close();
conn.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
/**
* delete , id = 1
*/
@Test
public void delete() {
try {
//1.注册驱动
String driver = "com.mysql.jdbc.Driver" ;
Class.forName(driver);
//2.建立连接
String url = "jdbc:mysql://localhost:3306/mybase" ;
String username = "root" ;
String password = "root" ;
Connection conn = DriverManager.getConnection(url, username, password);
//3.创建语句对象
String sql = "delete from stus where id = ?" ;
PreparedStatement ppst = conn.prepareStatement(sql);
ppst.setInt(1, 1);
boolean b = ppst.execute();
System.out.println("" + b);
conn.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
@Test
public void select() {
try {
//1.注册驱动
String driver = "com.mysql.jdbc.Driver" ;
Class.forName(driver);
//2.建立连接
String url = "jdbc:mysql://localhost:3306/mybase" ;
String username = "root" ;
String password = "root" ;
Connection conn = DriverManager.getConnection(url, username, password);
conn.setAutoCommit(false);
//3.创建语句对象
//select id, name ,age form ...
String sql = "select * from stus where id > ?" ;
PreparedStatement ppst = conn.prepareStatement(sql);
ppst.setInt(1, 1);
boolean b = ppst.execute();
//判断是否是查询
if(b){
//获取查询结果集
ResultSet rs = ppst.getResultSet();
//移动游标
while(rs.next()){
//int id = rs.getInt("id");
Integer id = (Integer) rs.getObject("id");
String name = rs.getString("name");
Integer age = (Integer) rs.getObject("age");
System.out.println("id=" + id + ",name=" + name + ",age=" + age);
}
//结果集元数据
ResultSetMetaData meta = rs.getMetaData();
for(int i = 0 ; i < meta.getColumnCount() ; i ++){
System.out.print(meta.getColumnLabel(i + 1) + " ");
}
}
//
//5.释放资源
ppst.close();
conn.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
}
2.对比Statement和PreparedStatement的大批量操作耗时?(100000记录)
//Statement
package com.it18zhang.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
import org.junit.Test;
public class TestJDBC {
/**
* insert1
*/
@Test
public void insert1(){
try {
//1.注册驱动
String driver = "com.mysql.jdbc.Driver" ;
Class.forName(driver);
//2.建立连接
String url = "jdbc:mysql://localhost:3306/mybase" ;
String username = "root" ;
String password = "root" ;
Connection conn = DriverManager.getConnection(url, username, password);
//设置自动提交模式
conn.setAutoCommit(false);
//3.创建语句对象
Statement st = conn.createStatement();
String sql = "insert into stus(id,name,age) values(9,‘tomson‘,11)" ;
long start = System.currentTimeMillis() ;
//4.执行语句
for(int i = 0 ; i < 100000 ; i ++){
sql = "insert into stus(id,name,age) values("+(i + 1)+",‘tom"+i+"‘,12)" ;
boolean b = st.execute(sql);
}
conn.commit();
System.out.println(System.currentTimeMillis() - start);
//5.释放资源
st.close();
conn.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
//PreparedStatement 程序
package com.it18zhang.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import org.junit.Test;
/**
* 使用PreparedStatement
*/
public class TestJDBC3 {
@Test
public void insert(){
try {
//1.注册驱动
String driver = "com.mysql.jdbc.Driver" ;
Class.forName(driver);
//2.建立连接
String url = "jdbc:mysql://localhost:3306/mybase" ;
String username = "root" ;
String password = "root" ;
Connection conn = DriverManager.getConnection(url, username, password);
conn.setAutoCommit(false);
long start = System.currentTimeMillis();
//3.创建语句对象
String sql = "insert into stus(id,name,age,password) values(?,?,?,?)" ;
PreparedStatement ppst = conn.prepareStatement(sql);
for(int i = 0 ; i < 100000 ; i ++){
ppst.setInt(1, i + 1);
ppst.setString(2, "tomas" + i);
ppst.setInt(3, 10);
ppst.setString(4, "123");
ppst.addBatch();
if(i % 10000 == 0){
ppst.executeBatch();
ppst.clearBatch();
}
}
<span class="Apple-tab-span" style="wh 本文系统来源:http://10718270.blog.51cto.com/10708270/1792593
内容总结
以上是互联网集市为您收集整理的java基础第21天_mysql全部内容,希望文章能够帮你解决java基础第21天_mysql所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。