JDBC编程
创始人
2024-04-12 09:11:33
0

目录

1. 添加目录

2.编程

3.?的使用


1. 添加目录

将安装好的驱动包复制下来

然后在这里新增一个目录

将复制好的驱动包复制进去

对其右键,选中添加为库

2.编程

在编程的时候,大部分代码都是固定的,会变的大多都是SQL语句,所以我就将一些比较零散注意事项写到代码注释里了

setUrl里面的内容代表数据源

其中jdbc:mysql: 是一个url 表示给jdbc的mysql使用的

127.0.0.1 是数据库服务器所造的IP地址,每台计算机都有自己的IP地址,而这一串数字相当于类里面的this,表示当前使用的计算机

3306 是端口号,在安装MySQL时,默认为3306(不改的化)

3306/后面 到 ?前面的test 是你使用的库的名字

&后面的 描述了请求的字符编码形式(当前数据库的字符集)

在后面的useSSL=false 是关闭加密功能

上面的这一串需要修改就只有数据库名了(基本上)

public static void main(String[] args) throws SQLException {DataSource dataSource = new MysqlDataSource();((MysqlDataSource) dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8&useSSL=false");((MysqlDataSource) dataSource).setUser("root");((MysqlDataSource) dataSource).setPassword("123456");//选择java.sql  getConnection()需要添加异常声明Connection connection = dataSource.getConnection();String sql = "insert into student values(1,'张三'),(2,'李四')";//SQL语句PreparedStatement statement = connection.prepareStatement(sql);//选择java.sqlint ret = statement.executeUpdate();System.out.println(ret);System.out.println(statement);}

SQL语句如果是增删改,那么后面的statement需要用executeUpdate方法

它可以返回SQL语句所修改的行数

如果是查询语句则需要用 executeQuery 接收返回的数据

同时 executeQuery 的返回值需要用 ResultSet(java.sql) 这个类型去接收

具体情况如下:

public static void main(String[] args) throws SQLException {DataSource dataSource = new MysqlDataSource();((MysqlDataSource) dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf8&useSSL=false");((MysqlDataSource) dataSource).setUser("root");((MysqlDataSource) dataSource).setPassword("123456");Connection connection = dataSource.getConnection();//选择java.sql  getConnection()需要添加异常声明String sql = "select * from student";//SQL语句PreparedStatement statement = connection.prepareStatement(sql);//选择java.sqlResultSet resultSet = statement.executeQuery();while(resultSet.next()) {int id = resultSet.getInt("id");String name = resultSet.getString("name");System.out.println("id: " + id + " name: " + name);}System.out.println(statement);}

在用ResultSet接收后 要使用while循环,循环条件为resultSet.next() -- 代表一次输出一行

接收数据用get...()方法, 括号中填的是列名

3.?的使用

int n = scanner.nextInt();
String sql = "select * from student where id = ?";//SQL语句
PreparedStatement statement = connection.prepareStatement(sql);//选择java.sql
statement.setInt(1,n);

 在语句中的问号代表一个数据,可以使用statement.set...() 这个方法去赋值

它的第一个参数传入整形,代表赋值的是第几个问号,实例中代表:对第一个问号赋值为变量n

?的使用可以提高代码的安全性.

相关内容

热门资讯

事关浙江的每一条江河、溪流!这... 近日,《浙江省河湖保护治理条例》经省第十四届人民代表大会常务委员会第二十一次会议通过,将于2026年...
国中水务(600187)披露参... 截至2025年12月30日收盘,国中水务(600187)报收于2.51元,较前一交易日下跌1.57%...
中南股份(000717)披露募... 截至2025年12月30日收盘,中南股份(000717)报收于2.59元,较前一交易日下跌1.14%...
受权发布丨中华人民共和国增值税... 新华社北京12月30日电 中华人民共和国增值税法实施条例 第一章 总则 第一条 根据《中华人民共和国...
个人销售住房增值税政策明年起调... 新华社北京12月30日电(记者申铖)财政部、国家税务总局12月30日对外发布公告,明确自2026年1...
浮山县司法局组织开展2025年... 为进一步加强行政执法规范化建设,切实提高行政执法人员依法履职能力,根据《临汾市司法局关于开展2025...
“护航”增值税法实施 完善现行... 新华社北京12月30日电 题:“护航”增值税法实施 完善现行增值税制度——聚焦增值税法实施条例出台 ...
李凯任北京市律师协会秘书长 第十二届北京市律师协会召开理事会第七次会议 2025年12月30日,第十二届北京市律师协会理事会召开...
《中华人民共和国增值税法实施条... 《中华人民共和国增值税法实施条例》(以下简称《条例》)公布,自2026年1月1日起施行。《条例》旨在...