mysql原生数据库_原生jdbc操作mysql数据库详解

首先给大家说一下使用JDBC链接数据库的步骤

1.加载链接数据库驱动

2.建立数据库链接

3.创建数据库操作对象

4.编写sql语句,执行sql语句

5.获取结果集

6.释放资源

我这边采用的是maven构建工具创建的java项目;如果不使用maven创建的话也没有什么不同,因为都是在main方法里面写的嘛!

只是需要导入jdbc需要的jar包即可,然后下面建项目的这些步骤就可以直接跳过了

首先点击新建项目

如果你的这里没有Maven Project 这个选项的话,那就直接点击Other,有的话就直接点击Maven项目即可!

0785e6f47d9e79fd6e428cb919911a9c.png

点完以后在这里搜索maven也是一样的,选择Maven  Project   然后next

93fea9c6c5383d3697a041ac0ade25d2.png

直接使用默认  继续next

64cab2a9b4058fe227c02f0739f7ca0c.png

找到我选中的那一条   ,其他地方不用填 ,继续next

d5f0c4287360ac39fb19876fe0c1403a.png

主要目的不是为了构建项目,所以这上面两个需要填写的地方可以随意些,上面的代表包名 ,第二个代表项目名,然后Finish

bbd2c8cd85188024efcf1f8442c115eb.png

然后在pom.xml里面加入如下配置;我是不记得需要那几个jar包了,所以直接全部放进去了,哈哈哈哈哈

91e770073354cdd18e4b1fecf0a3c07c.png

现在开始就要写代码了,首先建一个main方法,很简单的写一个例子

packagecom.TestJDBC;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;/*** Hello world!

**/

public classDemo01

{public static voidmain( String[] args )

{

Connection connection=null;

Statement statement=null;

ResultSet resultSet= null;try{//1.加载驱动(根据反射获取class/根据包名获取class)

Class.forName("com.mysql.jdbc.Driver");//2.获取连接对象(参数解释,第一个是代表jdbc的方式访问mysql数据库,localhost代表是访问本地的,3306端口号,db_test01代表数据库名字,后面两个代表账户密码

connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/db_test01","root","root");//3.获取执行sql对象

statement =connection.createStatement();//4.编写sql语句,执行sql

String sql="select * from stu";//5.获取结果集 ,查询操作使用executeQuery,增,删,改使用statement.executeLargeUpdate(sql)//如果是增删改操作,失败了会返回0

resultSet =statement.executeQuery(sql);if(resultSet.next()){

//获取字符串类型的值

String name= resultSet.getString("name");

String sex= resultSet.getString("sex");

//获取int型的值int age = resultSet.getInt("age");

System.out.println(name+" ,"+sex+","+age);

}

}catch(Exception e) {//TODO Auto-generated catch block

e.printStackTrace();

}finally{//6.释放连接

if(resultSet!=null){try{

resultSet.close();

}catch(SQLException e) {//TODO Auto-generated catch block

e.printStackTrace();

}

}if(statement!=null){try{

statement.close();

}catch(SQLException e) {//TODO Auto-generated catch block

e.printStackTrace();

}

}if(connection!=null){try{

connection.close();

}catch(SQLException e) {//TODO Auto-generated catch block

e.printStackTrace();

}

}

}

}

}

下面改了一下,是一个预编译的案例

packagecom.TestJDBC;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;/*** Hello world!

**/

public classDemo01 {public static voidmain(String[] args) {

Connection connection= null;

PreparedStatement statement= null;

ResultSet resultSet= null;try{//1.加载驱动

Class.forName("com.mysql.jdbc.Driver");//2.获取连接对象(参数解释,第一个是代表jdbc的方式访问mysql数据库,localhost代表是访问本地的,3306端口号,db_test01代表数据库名字,后面两个代表账户密码

connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/db_test01", "root", "root");//3.获取执行sql对象//4.编写sql语句,执行sql(预编译,用?号代替值)

String sql = "select * from stu where id=?";

statement=connection.prepareStatement(sql);//然后再设置进去,可以设置多个值

statement.setString(1, "1");

resultSet=statement.executeQuery();//5.获取结果集//,查询操作使用executeQuery,增,删,改使用statement.executeLargeUpdate(sql)//如果是增删改操作,失败了会返回0

if(resultSet.next()) {//获取字符串类型的值

String name = resultSet.getString("name");

String sex= resultSet.getString("sex");//获取int型的值

int age = resultSet.getInt("age");

System.out.println(name+ " ," + sex + "," +age);

}

}catch(Exception e) {//TODO Auto-generated catch block

e.printStackTrace();

}finally{//6.释放连接

if (resultSet != null) {try{

resultSet.close();

}catch(SQLException e) {//TODO Auto-generated catch block

e.printStackTrace();

}

}if (statement != null) {try{

statement.close();

}catch(SQLException e) {//TODO Auto-generated catch block

e.printStackTrace();

}

}if (connection != null) {try{

connection.close();

}catch(SQLException e) {//TODO Auto-generated catch block

e.printStackTrace();

}

}

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值