java jdbc curd &&学习文档 [翻译]
来源:互联网 发布:android蓝牙接收数据 编辑:程序博客网 时间:2024/06/16 00:38
jdbc教程
https://www.tutorialspoint.com/jdbc/jdbc-sample-code.htm(英文)
http://www.yiibai.com/jdbc/jdbc-sample-code.html#article-start(中文)
jdbc curd示例
http://www.codejava.net/java-se/jdbc/jdbc-tutorial-sql-insert-select-update-and-delete-examples(英文)
http://www.cnblogs.com/sbj-dawn/p/7111990.html(中文)
2 创建一个sampledb
http://blog.csdn.net/qqduxingzhe/article/details/78251057
mysql 5.7.X 安装
执行下面的语句在你的 MySQL Workbench:
create database SampleDB;use SampleDB;CREATE TABLE `users` ( `user_id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(45) NOT NULL, `password` varchar(45) NOT NULL, `fullname` varchar(45) NOT NULL, `email` varchar(45) NOT NULL, PRIMARY KEY (`user_id`));
4 数据库连接
String dbURL = "jdbc:mysql://localhost:3306/sampledb";String username = "root";String password = "secret";try { Class.forName("com.mysql.jdbc.Driver"); Connection conn = DriverManager.getConnection(dbURL, username, password); if (conn != null) { System.out.println("连接OK"); }} catch (SQLException ex) { ex.printStackTrace();}
之后,关闭
conn.close();
5 执行insert
用户信息:
username: bill
password: secretpass
fullname: Bill Gates
email: bill.gates@microsoft.com
下面是代码:
String sql = "INSERT INTO Users (username, password, fullname, email) VALUES (?, ?, ?, ?)";PreparedStatement statement = conn.prepareStatement(sql);statement.setString(1, "bill");statement.setString(2, "secretpass");statement.setString(3, "Bill Gates");statement.setString(4, "bill.gates@microsoft.com");int rowsInserted = statement.executeUpdate();if (rowsInserted > 0) { System.out.println("一个新的user 插入成功!");}
// conn.prepareStatement(sql);
// 创建一条预编译的语句,调用 setXXX(xx, xx) 进行数据的填充
// statement.executeUpdate();
// 执行更新、新增、删除
// 返回所操作的 行的数量
PreparedStatement的其他方法:
setBoolean(int parameterIndex, boolean x)setDate(int parameterIndex, Date x)setFloat(int parameterIndex, float x)// ...
6 执行select
代码:
String sql = "SELECT * FROM Users";Statement statement = conn.createStatement();ResultSet result = statement.executeQuery(sql);int count = 0;while (result.next()){ String name = result.getString(2); String pass = result.getString(3); String fullname = result.getString("fullname"); String email = result.getString("email"); String output = "User #%d: %s - %s - %s - %s"; System.out.println(String.format(output, ++count, name, pass, fullname, email));}
输出:
User #1: bill - secretpass - Bill Gates - bill.gates@microsoft.com
resultset.next();
// 是否存在下一行,
//(存在,就是有数据)
//(不存在,没数据了,退出while循环)
resultset可以看作二维表,
(自己想象,列头是数据库中的表的每一列 列名称,每一列的索引)
每一行是数据(也称记录)
根据数据库中的数据类型,对应的Java数据类型,
选择对应方法,从而拿到数据
username ===> String ===> getString( username索引/ username字符串)
result更多方法
getString(columnIndex/ columnString)getInt(columnIndex/ columnString)getFloat(columnIndex/ columnString)getDate(columnIndex/ columnString)getTimestamp(columnIndex/ columnString)// ...
提示:
getXXX( columnIndex/ columnString);
index 比 String 快
7 执行update
代码:
String sql = "UPDATE Users SET password=?, fullname=?, email=? WHERE username=?";PreparedStatement statement = conn.prepareStatement(sql);statement.setString(1, "123456789");statement.setString(2, "William Henry Bill Gates");statement.setString(3, "bill.gates@microsoft.com");statement.setString(4, "bill");int rowsUpdated = statement.executeUpdate();if (rowsUpdated > 0) { System.out.println("一个存在的user 更新成功!");}
8 执行delete
代码:删除已存在的 bill
String sql = "DELETE FROM Users WHERE username=?";PreparedStatement statement = conn.prepareStatement(sql);statement.setString(1, "bill");int rowsDeleted = statement.executeUpdate();if (rowsDeleted > 0) { System.out.println("一个user 删除成功");}
结语
上述就是CURD。
关键点是:
翻译方式:bing翻译
http://www.bing.com/Translator
使用静态 SQL 查询的语句。
对参数化 SQL 查询使用 PreparedStatement, 并使用 setXXX () 方法来设置参数值。
使用 execute () 方法执行常规查询。
使用 executeUpdate () 方法执行插入、更新或删除查询
使用 executeQuery () 方法执行选择查询。
使用结果集循环访问从 SELECT 查询返回的行, 使用它的 next () 方法将其前进到最终集中的下一行, 并使用 getXXX () 方法检索列的值。
end
- java jdbc curd &&学习文档 [翻译]
- java jdbc简单的 curd
- java API文档翻译
- 翻译与学习HA-JDBC
- 开始学习、翻译android文档
- java firstapplet联机文档翻译
- JDBC CURD 的几个DEMO
- ThinkPHP学习 CURD
- thinkphp 学习之CURD
- Java操作hbase CURD
- Hibernate学习英文文档翻译2
- Android学习之CardView文档翻译
- Android学习之WebView文档翻译
- Android学习之ScrollView使用文档翻译
- Android学习之Snackbar使用文档翻译
- Android学习之Activity生命周期文档翻译
- 学习篇之英文文档翻译能力
- javaAPI文档翻译之Java.awt.BorderLayout
- 字符驱动 快速参考
- 如何搭建一个梯子:真的很简单
- SPI---读写串行FLASH(STM32平台下)
- 【Android】怎么方便看GitHub上的ZXing源码与示例
- nowcoder Wannafly挑战赛1 B 【暴力 + 思维】
- java jdbc curd &&学习文档 [翻译]
- Hibernate
- Unity中关于作用力方式ForceMode的功能注解
- Android ANR源码原理分析
- 正则动态添加变量
- 51Nod-1183 编辑距离
- cordova插件
- IndexOutOfBoundsException: Inconsistency detected. Invalid view holder adapter positionViewHolder
- 例子---碰壁反弹