用Java编写sql

用Java编写sql

1.概念

通过Java代码操作mysql数据库

数据库编程,是需要数据库服务器,提供一些API,供程序员调用的

2.安装

2.1下载

在程序中操作mysql需要先安装mysql的驱动包

并且要把驱动包引入到项目中

在中央仓库可以下载到驱动包(mvnrepository.com)

2.2jar如何引入项目中?

1.先把jar复制到当前项目的目录中

复制刚刚下载的那个jar包如何到刚刚的lib目录选中ctrl v粘贴

2.把这个目录标记成“库”

此时准备工作已经完成,可以开始编写代码了

3.编写代码

3.1.创建java类

3.2.创建Datasource

Datasource:描述:“数据源头”==>数据库服务器所在位置

Datasource可能有多个,选择javax.sql的

public class demo1 {

public static void main(String[] args) {

//1.创建datasource

DataSource dataSource = new MysqlDataSource();

//向上转型

((MysqlDataSource) dataSource).setUrl();

// 向下转型

}

}

3.3URL

url是给jdbc操作mysql使用的

url形式:

Datasource光写url只是能找到mysql服务器了

但是还得认证(用户名,密码)

3.4建立和数据库服务器之间的连接

连接好了之后,才能进行后续的请求-响应 交互

要注意包的选择

//2。建立和数据库服务器之间的连接

Connection connection = dataSource.getConnection();

问题:

解决方法:

3.5构造sql

//3.构造sql

String sql = "insert into student values(1, ' 张三')";

PreparedStatement statement = connection.prepareStatement(sql);

3.6把sql发给服务器(executeQuery,executeUpdate)

executeUpdate返回值是一个整数,表示影响到的行数

excuteQuery放回一个ResultSet(结果集合)

int n = statement.executeUpdate();

3.7执行完毕之后,关闭连接,释放资源

程序通过代码和服务器进行通信,是需要消耗一定的硬件和软件资源的

在程序结束时,就需要告知服务器,释放这些资源

释放顺序:后获取到的资源先释放

statement.close();

connection.close();

4.插入,删除,修改代码

插入:

String sql = "insert into student values(1, ' 张三')";

PreparedStatement statement = connection.prepareStatement(sql);

删除:

String sql = "delete from student where id = 1";

PreparedStatement statement = connection.prepareStatement(sql);

修改:

String sql = "update student set name = '张三' where id = 100";

PreparedStatement statement = connection.prepareStatement(sql);

5.插入操作如何不写死

String sql = "insert into student values(1, ' 张三')";

PreparedStatement statement = connection.prepareStatement(sql);

这里的张三写死了,我们不好去更改

6.代码

public class demo1 {

public static void main(String[] args) throws SQLException {

Scanner scanner = new Scanner(System.in);

System.out.println("请输入学号 :");

int id = scanner.nextInt();

System.out.println("请输入姓名 :");

String name = scanner.next();

//1.创建datasource

DataSource dataSource = new MysqlDataSource();

//向上转型

((MysqlDataSource) dataSource).setUrl();

// 向下转型

((MysqlDataSource) dataSource).setUrl("root");

((MysqlDataSource) dataSource).setPassword("kkkk");

//2.建立和数据库服务器之间的连接

Connection connection = dataSource.getConnection();

//3.构造sql

String sql = "insert into student values(?, ?)";

//String sql = "delete from student where id = 1";

//String sql = "update student set name = '张三' where id = 100";

PreparedStatement statement = connection.prepareStatement(sql);

statement.setInt(1,id);

statement.setString(2, name);

//打印sql看效果

System.out.println("sql = "+ statement);

//4.把sql发给服务器

int n = statement.executeUpdate();

System.out.println("n = " + n);

//5.释放资源,关闭连接

statement.close();

connection.close();

}

}

相关推荐

uc大鱼号怎么赚钱
beat365手机下载

uc大鱼号怎么赚钱

📅 07-04 👁️ 248
民政局系鞋带什么梗? 这梗的深层含义你懂吗?
365买球平台下载苹果

民政局系鞋带什么梗? 这梗的深层含义你懂吗?

📅 08-15 👁️ 5820
【直播】北笙直播中遭遇地震跑出直播间:不是节目效果,恭喜EDGM!
萤火虫的寿命一般能维持多久(萤火虫的寿命有多长时间)
365买球平台下载苹果

萤火虫的寿命一般能维持多久(萤火虫的寿命有多长时间)

📅 07-18 👁️ 8305
iPhone 新手机充电口上下晃动正常吗
beat365手机下载

iPhone 新手机充电口上下晃动正常吗

📅 08-20 👁️ 6601
焦急的羅曼史劇情介紹
beat365手机下载

焦急的羅曼史劇情介紹

📅 09-06 👁️ 5988