mysql开发步骤_原生Jdbc操作Mysql数据库开发步骤

原生Jdbc操作Mysql数据库开发步骤

原生的Jdbc就是指,不使用任何框架,仅用java.sql包下的方法实现数据库查询等的操作。

下面是开发步骤:

1、导入数据库驱动包

-mysql-connector-java-5.1.7-bin.jar

2、准备参数

-url ()   链接url格式:(jdbc:mysql://主机名:端口号/数据库名字)

通常我们会在链接后添加编码方式: useUnicode=true&characterEncoding=UTF-8

-username 数据库访问的用户名

-password 数据库访问密码

-driver com.mysql.jdbc.Driver  内容是数据库驱动包中Driver类的全类名

3、加载数据库驱动   (使用反射的方式)

Class.forName(driver)

4、通过数据库驱动获取数据库链接

Connection conn = DriverManager.getConnection(url,username,passworrd);

5、编写sql语句

增加 -  INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)

删除 -  DELETE FROM 表名称 WHERE 列名称 = 值

更新 -  UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值

查询 -  SELECT 列名称 FROM 表名

6、通过链接获取执行对象

包含Statement 和 PrepareStatement ,由于PrepareStatement是预编译执行,且效率高、还能防止sql注入,因此在这只使用PrepareStatement讲解。

prepareStatement = conn.prepareStatement(sql);

若sql语句中有占位符“?”,则需要进行传入参数

prepareStatement.setObject(i,object);   //其中i从1开始

7、执行sql语句

若为增删改操作,使用executeUpdate()方法,返回值为受影响行数,为int类型。

int result = pStatement.executeUpdate();

若为查询操作,使用executeQuery()方法,返回值将是一个结果集,因此需要遍历出结果集。

ResultSet resultSet = pStatement.executeQuery();

遍历resultSet

while(resultSet.next()){

Object object = resultSet.getObject(“表单列或者列号”);

}

8、关闭资源和连接

倒序关闭,先关闭resultSet,再关闭prepareStatement,再关闭conn.

以下是原生操作的代码,以查询为例:

1 private static final String URL = "jdbc:mysql://127.0.0.1:3306/test";2 private static final String USERNAME = "root";3 private static final String UPASSWORD = "123456";4 private static final String UDRIVER = "com.mysql.jdbc.Driver";5

6 public static voidmain(String[] args){7 Connection conn = null;8 PreparedStatement pStatement = null;9 ResultSet resultSet = null;10 /*

11 * 编写sql语句12 * 假设test表中只有int类型的id varcher类型的uname两列13 * ? 为通配符,留作参数传入14 */

15 String sql ="SELECT id,uname FROM test WHERE id > ?";16 try{17 //加载驱动

18 Class.forName(UDRIVER);19 //获取链接

20 conn =DriverManager.getConnection(URL, USERNAME, UPASSWORD);21 //获取链接执行对象

22 pStatement =conn.prepareStatement(sql);23 /*

24 * 将参数传入25 * 此处根据参数类型的不同选用不同的方法传入26 * ###其中第一个参数parameterIndex是从1开始计数##27 */

28 pStatement.setInt(1, 3);29 //执行Sql语句

30 resultSet =pStatement.executeQuery();31 //遍历结果集

32 while(resultSet.next()){33 Integer id = resultSet.getInt("id");34 String uname = resultSet.getString("uname");35 System.out.println("用户ID为 : "+id+",用户名为: "+uname);36 }37 } catch(ClassNotFoundException e) {38 //TODO Auto-generated catch block

39 e.printStackTrace();40 } catch(SQLException e) {41 //TODO Auto-generated catch block

42 e.printStackTrace();43 } finally{44 //逆序关闭资源

45 try{46 if(resultSet!=null){47 resultSet.close();48 }49 if(pStatement!=null){50 pStatement.close();51 }52 if(conn!=null){53 conn.close();54 }55 } catch(SQLException e) {56 //TODO Auto-generated catch block

57 e.printStackTrace();58 }59 }60 }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值