使用JDBC进行增删改查
一、statement对象介绍
Jdbc中的statement对象用于向数据库发送SQL语句,想完成对数据库的增删改查,只需要通过这个对象向数据库发送增删改查语句即可。
Statement对象的executeUpdate方法,用于向数据库发送增、删、改的sql语句,executeUpdate执行完后,将会返回一个整数(即增删改语句导致了数据库几行数据发生了变化)。
1.1、CRUD操作-create
使用executeUpdate(String sql)方法完成数据添加操作,示例操作:
1 Statement st = ateStatement();
2String sql = "insert into user(….) values(…..) ";
3int num = st.executeUpdate(sql);
4if(num>0){
5System.out.println("插入成功!!!");
6 }
1.2、CRUD操作-update
使用executeUpdate(String sql)方法完成数据修改操作,示例操作:
1 Statement st = ateStatement();
2String sql = “update user set name=‘’ where name=‘’";
3int num = st.executeUpdate(sql);
4if(num>0){
5System.out.println(“修改成功!!!");
6 }
1.3、CRUD操作-delete
使用executeUpdate(String sql)方法完成数据删除操作,示例操作:
1 Statement st = ateStatement();
2String sql = “delete from user where id=1;
3int num = st.executeUpdate(sql);
4if(num>0){
5System.out.println(“删除成功!!!");
6 }
1.4、CRUD操作-read
使用executeQuery(String sql)方法完成数据查询操作,示例操作:
1 Statement st = ateStatement();
2String sql = “select * from user where id=1;
3 ResultSet rs = st.executeUpdate(sql);
()){
搜狐视频下载安装5//根据获取列的数据类型,分别调用rs的相应方法映射到java对象中6 }
二、使用jdbc对数据库增删改查
2.1、搭建实验环境英汉互译在线翻译
1、在mysql中创建一个库,并创建user表和插入表的数据。
SQL脚本如下:
1create database jdbcStudy;
2
3use jdbcStudy;
4
5create table users(
6id int primary key,
7name varchar(40),
8password varchar(40),
9email varchar(60),
10birthday date
11 );
2、新建一个JavaWeb工程,并导入MySQL数据库驱动。
3、在src目录下创建一个db.properties文件,如下图所示:
在db.properties中编写MySQL数据库的连接信息,代码如下所示:
1 sql.jdbc.Driver
2 url=jdbc:mysql://localhost:3306/jdbcStudy
3 username=root
4 password=XDP
4、编写一个JdbcUtils工具类,用于连接数据库,获取数据库连接和释放数据库连接,代码如下:
1package me.gacl.utils;
2
3import java.io.InputStream;
4import java.sql.Connection;
5import java.sql.DriverManager;
6import java.sql.ResultSet;
7import java.sql.SQLException;
8import java.sql.Statement;
9import java.util.Properties;
10
11public class JdbcUtils {
12
13private static String driver = null;
14private static String url = null;
15private static String username = null;
16private static String password = null;
17
18static{
19try{
20//读取db.properties文件中的数据库连接信息
21InputStream in = ClassLoader().getResourceAsStream("db.properties");
22Properties prop = new Properties();
23prop.load(in);
24
25//获取数据库连接驱动
26driver = Property("driver");
27//获取数据库连接URL地址
28url = Property("url");
29//获取数据库连接用户名
30username = Property("username");
31//获取数据库连接密码
32password = Property("password");
33
34//加载数据库驱动
35Class.forName(driver);
36
37}catch (Exception e) {
38throw new ExceptionInInitializerError(e);
39}
40}
41
42/**
43* @Method: getConnection
44* @Description: 获取数据库连接对象
45* @Anthor:admin
46*
47* @return Connection数据库连接对象
48* @throws SQLException
49*/
50public static Connection getConnection() throws SQLException{
Connection(url, username,password);
52}
53
54/**
55* @Method: release
56* @Description: 释放资源,
57* 要释放的资源包括Connection数据库连接对象,负责执行SQL命令的Statement对象,存储查询结果的ResultSet对象
58* @Anthor:admin
59*
60* @param conn
61* @param st
62* @param rs
63*/
64public static void release(Connection conn,Statement st,ResultSet rs){ 65if(rs!=null){
66try{
67//关闭存储查询结果的ResultSet对象
68rs.close();
69}catch (Exception e) {
70 e.printStackTrace();accessories inc
71}
72rs = null;
73}
74if(st!=null){
mysql菜鸟教程增删改查
75try{
76//关闭负责执行SQL命令的Statement对象
77st.close();
78}catch (Exception e) {
79 e.printStackTrace();
80}
81}
82
83if(conn!=null){
84try{
85//关闭Connection数据库连接对象
86conn.close();
page指令的属性87}catch (Exception e) {
88 e.printStackTrace();
89}
90}
91}
92 }
2.2、使用statement对象完成对数据库的CRUD操作
测试代码如下:
1package me.gacl.demo;
2
3import java.sql.Connection;
4import java.sql.ResultSet;
5import java.sql.Statement;
6import me.gacl.utils.JdbcUtils;
7
8import org.junit.Test;
9
10/**
11* @ClassName: JdbcCRUDByStatement
12* @Description: 通过Statement对象完成对数据库的CRUD操作
13* @author: admin
14* @date: 2014-9-15 下午11:22:12
15*
16*/
17public class JdbcCRUDByStatement {
18
19@Test
20public void insert(){
21Connection conn = null;
22Statement st = null;
23ResultSet rs = null;
24try{
25//获取一个数据库连接
26conn = Connection();
27//通过conn对象获取负责执行SQL命令的Statement对象
28st = ateStatement();
29//要执行的SQL命令
30String sql = "insert into users(id,name,password,email,birthday) values(3,'白虎神皇','123','bhsh@sina','1980-09-09')";
31//执行插入操作,executeUpdate方法返回成功的条数
32int num = st.executeUpdate(sql);
33if(num>0){
34System.out.println("插入成功!!");
35}
36
37}catch (Exception e) {
38 e.printStackTrace();
39}finally{
40//SQL执行完成之后释放相关资源
transport用中文谐音怎么读lease(conn, st, rs);
42}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论