热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

IT十八掌作业_java基础第21天_mysql

感谢大家对IT十八掌大数据的支持,今天的作业如下:1.实践PreparedStament的CRUD操作。2.对比Statement和PreparedStatement的大批量操作耗时?(1

感谢大家对IT十八掌大数据的支持,今天的作业如下:


1.实践PreparedStament的CRUD操作。

2.对比Statement和PreparedStatement的大批量操作耗时?(100000记录)


3.事务特点?


4.mysql client如何控制事务?








--------------------------------------------------------------------------------------------------------

1.实践PreparedStament的CRUD操作。

答:

package com.it18zhang.jdbc;


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

System.out.print(meta.getColumnLabel(i + 1) + "  ");

}

}

//

//5.释放资源

ppst.close();

conn.close();

}

catch (Exception e) {

e.printStackTrace();

}

}

}





2.对比Statement和PreparedStatement的大批量操作耗时?(100000记录)

答:

插入大批量数据测试


3.事务特点?

答:

ACID

原子性(atomicity):组成事务处理的语句形成了一个逻辑单元,不能只执行其中的一部分。 

一致性(consistency):在事务处理执行前后,数据库是一致的(两个账户要么都变,或者都不变)。 

隔离性(isolcation):一个事务处理对另一个事务处理没有影响。 

持续性(durability):事务处理的效果能够被永久保存下来 。


4.mysql client如何控制事务?

答:

mysql client下的事务操作

------------------------

1.关闭自动提交

set autocommmit = 0 ; //1 = true

2.开启事务

start transaction ;

3.提交事务

commit ;

4.回滚

rollback ;





推荐阅读
  • 本文介绍了如何通过 Maven 依赖引入 SQLiteJDBC 和 HikariCP 包,从而在 Java 应用中高效地连接和操作 SQLite 数据库。文章提供了详细的代码示例,并解释了每个步骤的实现细节。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • Explore a common issue encountered when implementing an OAuth 1.0a API, specifically the inability to encode null objects and how to resolve it. ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 本文详细介绍了Java中org.eclipse.ui.forms.widgets.ExpandableComposite类的addExpansionListener()方法,并提供了多个实际代码示例,帮助开发者更好地理解和使用该方法。这些示例来源于多个知名开源项目,具有很高的参考价值。 ... [详细]
  • 深入解析Spring Cloud Ribbon负载均衡机制
    本文详细介绍了Spring Cloud中的Ribbon组件如何实现服务调用的负载均衡。通过分析其工作原理、源码结构及配置方式,帮助读者理解Ribbon在分布式系统中的重要作用。 ... [详细]
  • MQTT技术周报:硬件连接与协议解析
    本周开发笔记重点介绍了在新项目中使用MQTT协议进行硬件连接的技术细节,涵盖其特性、原理及实现步骤。 ... [详细]
  • 本文探讨了 Objective-C 中的一些重要语法特性,包括 goto 语句、块(block)的使用、访问修饰符以及属性管理等。通过实例代码和详细解释,帮助开发者更好地理解和应用这些特性。 ... [详细]
  • 本文介绍如何使用阿里云的fastjson库解析包含时间戳、IP地址和参数等信息的JSON格式文本,并进行数据处理和保存。 ... [详细]
  • andr ... [详细]
  • 本文详细介绍了Java中org.neo4j.helpers.collection.Iterators.single()方法的功能、使用场景及代码示例,帮助开发者更好地理解和应用该方法。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文详细介绍了Akka中的BackoffSupervisor机制,探讨其在处理持久化失败和Actor重启时的应用。通过具体示例,展示了如何配置和使用BackoffSupervisor以实现更细粒度的异常处理。 ... [详细]
  • 将Web服务部署到Tomcat
    本文介绍了如何在JDeveloper 12c中创建一个Java项目,并将其打包为Web服务,然后部署到Tomcat服务器。内容涵盖从项目创建、编写Web服务代码、配置相关XML文件到最终的本地部署和验证。 ... [详细]
  • Android LED 数字字体的应用与实现
    本文介绍了一种适用于 Android 应用的 LED 数字字体(digital font),并详细描述了其在 UI 设计中的应用场景及其实现方法。这种字体常用于视频、广告倒计时等场景,能够增强视觉效果。 ... [详细]
author-avatar
mini泥猴
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有