jdbc限制返回行数_第十一章使用JDBC接连数据库实现mysql增删查改

这篇博客介绍了如何使用JDBC连接MySQL数据库,包括注册驱动、建立连接、执行SQL语句等步骤。通过示例展示了创建表、插入数据、查询数据、更新和删除数据的操作,并提供了测试方法。虽然没有直接讨论限制返回行数,但内容涵盖了基本的数据库操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简介

JDBC步骤

1)注册驱动

2)建立数据库连接(Connection)

3)sql语句

4)获取sql发送器(Statement)

5)执行sql返回结果集(ResultSet)

6) 处理结果集

7)关闭资源(ResultSet,Statement,Connection)

04768984332bfc7c3cf4dd36cc32bd8f.png

1.准备相关的包

mysql

mysql-connector-java

5.1.6

f4909b10ecd0202fa2d229a53826c2a9.png

2.创建MysqlJDBC类

7a43f8f0a9a348e1e85b03ba3425a876.png
5bd6d6c4ba5b7a37139005b989fa5ab3.png

3.添加常量

public static final String url = "localhost:3306/test";//数据库连接地址public static final String name = "com.mysql.jdbc.Driver";//mysql驱动public static final String username = "root";//mysql用户名public static final String password = "root";//mysql密码public static Connection conn = null;//数据库连接public static Statement stmt = null;//SQL语句发送器public static ResultSet rs = null;//结果集public static Logger logger = LoggerFactory.getLogger(MysqlJDBC.class);//日志
4dd6661d2f20e697eb4d54b0501fcec4.png

4.动态加载mysql驱动

static{ try { Class.forName(name);// 动态加载mysql驱动 } catch (ClassNotFoundException e) { e.printStackTrace(); }}
923f3d52cefde1a937339b7b6d35ffad.png

5.添加关闭方法

private static void close(){ try{ if(rs!=null){ rs.close(); } }catch(SQLException e){ e.printStackTrace(); } try{ if(stmt!=null){ stmt.close(); } }catch(SQLException e){ e.printStackTrace(); } try{ if(conn!=null){ conn.close(); } }catch(SQLException e){ e.printStackTrace(); }}
b5b09abed5c628d2c0ca7c61b209eded.png

6.Connection连接数据库

public static Connection getConnection(String url,String username,String password){ try{ logger.info("MysqlJDBC==>getConnection===start==="); String url01 ="jdbc:mysql://"+url+"?&useUnicode=true&characterEncoding=UTF8"; conn= DriverManager.getConnection(url01,username,password);//获取连接对象 logger.info("MysqlJDBC==>getConnection===conn="+conn); return conn; }catch(SQLException e){ e.printStackTrace(); return null; }}
a2156394f498f2ad4713ff680889c163.png

7.测试连接数据库方法

public static void main(String[] args) {

MysqlJDBC.getConnection(url,username,password);//测试连接数据库

}

443ce14e2ce84da3aa89764139bbabaa.png

8.添加创建表方法

public static int setCreateTable(String url,String username,String password,String tableName,String sql){ logger.info("MysqlJDBC==>setCreateTable===start==="); MysqlJDBC.getConnection(url,username,password); int result=0; try { stmt = conn .createStatement(); String sql1 = "DROP TABLE IF exists "+tableName;//删除表 int result1 = stmt.executeUpdate(sql1); result = stmt.executeUpdate(sql);// executeUpdate语句会返回一个受影响的行数,如果返回-1就没有成功 logger.info("MysqlJDBC==>setCreateTable==>result="+result+";sql="+sql); } catch (SQLException e) { e.printStackTrace(); }finally { close();//关闭连接 } return result;}
fd8ebf63f35e6cbf7c4f583791193a7e.png

9.测试创建表方法

public static void main(String[] args) {

StringBuilder sbr=new StringBuilder();

String tableName="student";

sbr.append("CREATE TABLE `").append(tableName).append("` (");

sbr.append("id int auto_increment primary key COMMENT '自增主键id',");

sbr.append(" `no` varchar(200) DEFAULT NULL COMMENT '编号',");

sbr.append(" `name` varchar(200) DEFAULT NULL COMMENT '名称',");

sbr.append("create_time timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间'");

sbr.append(") ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='").append("学生表").append("';");

MysqlJDBC.setCreateTable(url,username,password,tableName,sbr.toString());//测试创建表方法

}

f3f8961adb755343af7badec3ca36268.png

10.添加新增数据方法(修改,删除)共用一个方法

public static int setInsertData(String url, String username, String password,String sql){ logger.info("MysqlJDBC==>setInsertData===start==="); MysqlJDBC.getConnection(url,username,password); int result=0; try { stmt = conn .createStatement(); result = stmt.executeUpdate(sql);// executeUpdate语句会返回一个受影响的行数,如果返回-1就没有成功 logger.info("MysqlJDBC==>setInsertData==>result="+result+";sql="+sql); } catch (SQLException e) { e.printStackTrace(); }finally { close(); } return result;}
02555654b87774132110a35aa8f6ce92.png

11.测试新增数据方法

public static void main(String[] args) {

String str="insert into student(no,name) values('20190726','dyp')";

setInsertData(url,username,password,str);//测试新增数据方法

}

53e5918a0e1c8b28de5fcf5b4c5f63c8.png

12.添加查询方法

public static void setSelectData(String url,String username,String password,String sql){ logger.info("MysqlJDBC==>setSelectData===start==="); MysqlJDBC.getConnection(url,username,password); try { stmt = conn .createStatement(); rs = stmt.executeQuery(sql);// executeQuery会返回结果的集合,否则返回空值 logger.info("MysqlJDBC==>setSelectData==>sql="+sql); while(rs.next()){ System.out.println("id:"+rs.getString(1)+";no:"+rs.getString(2)+";name:"+rs.getString(3)); } } catch (SQLException e) { e.printStackTrace(); }finally { close(); }}
d183ccace7bbdb065763c4445ac41a81.png

13.测试查询方法

public static void main(String[] args) {

String sql="select * from student";

MysqlJDBC.setSelectData(url,username,password,sql);//查询数据

}

225106aca80c935cd593c23d829bd430.png

14.修改数据与添加方法相同(测试)

public static void main(String[] args) {

System.out.println("修改前查询");

String sql="select * from student";

MysqlJDBC.setSelectData(url,username,password,sql);//查询数据

System.out.println("修改数据中");

String str="update student set name='dyp001 where id=1";

setInsertData(url,username,password,str);//修改数据与添加数据方法一样

System.out.println("修改后查询");

MysqlJDBC.setSelectData(url,username,password,sql);//查询数据

}

eac79aebcd1490640f1586200bab9c8e.png

15.删除数据与添加方法相同(测试)

public static void main(String[] args) {

System.out.println("删除前查询");

String sql="select * from student";

MysqlJDBC.setSelectData(url,username,password,sql);//查询数据

System.out.println("删除数据中");

String str="delete from student where id=2";

setInsertData(url,username,password,str);//删除数据与添加数据方法一样

System.out.println("删除后查询");

MysqlJDBC.setSelectData(url,username,password,sql);//查询数据

}

8b5068280866d910c49084902a260f6f.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值