java mysql预处理_【java】对数据库操作的那些事(包含数据库中的预处理)

最后直接通过ConnFactory.getConn()获得。

这要做的优点,当改变所要连接的数据库类型时,仅仅须要改动配置文件里的内容就可以。

二、解说getXXX()方法

@Test

public void getXXXDemo() throws Exception{

Statement st = ConnFactory.getConn().createStatement();

String sql = "select * from book";

ResultSet rs = st.executeQuery(sql);

while(rs.next()){

Integer id = rs.getInt(1);//这里的1表示数据表中的第一列,以下同理

String name = rs.getString(2);

//Double price = (Double)rs.getObject(3);//出异常,由于内部是採用BigDecimal来处理

Double price = rs.getDouble(3);

Object dateTime = rs.getObject(4);//把日期和时间作为一个总体读取出来

System.out.println(id+","+name+","+price+","+dateTime);

String strDateTime = dateTime.toString();

System.out.println(strDateTime);

strDateTime = rs.getDate(4)+"--"+rs.getTime(4);//日期和时间能够单独获取

System.out.println(":::"+strDateTime);

}

ConnFactory.getConn().close();

}注:对于自己主动增长列。删除之后再插入新记录,序号不会回头,继续往前增长。即中间会出现空号

三、解说Statement中的三个executeXXX()方法

1、executeQuery: 仅仅能运行select语句

2、executeUpdate: 能够运行insert、delete和update语句,但不能运行select

3、execute:增删改查的4种(随意)语

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我会回答你的问题。首先需要导入mysql连接的jar包,然后建立与数据库的连接,判断是否连接成功可以通过getConnection方法返回的连接对象是否为null来判断。接下来,使用PreparedStatement接口实现增删改查操作,可以预防SQL注入攻击。 以下是Java连接MySQL数据库的示例代码: ```java import java.sql.*; public class MySQLDemo { public static void main(String[] args) { Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; try { // 加载驱动程序 Class.forName("com.mysql.jdbc.Driver"); // 建立连接 conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test?serverTimezone=UTC", "root", "root"); // 判断连接是否成功 if (conn != null) { System.out.println("数据库连接成功"); } else { System.out.println("数据库连接失败"); } // 实现增删改查 String sql = "insert into user(name,age) values(?,?)"; ps = conn.prepareStatement(sql); ps.setString(1, "Tom"); ps.setInt(2, 20); ps.executeUpdate(); sql = "select * from user"; ps = conn.prepareStatement(sql); rs = ps.executeQuery(); while (rs.next()) { System.out.println(rs.getInt("id") + " " + rs.getString("name") + " " + rs.getInt("age")); } } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } finally { try { if (rs != null) rs.close(); if (ps != null) ps.close(); if (conn != null) conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } } ``` 上述代码,我们首先加载了MySQL驱动程序,然后建立了与数据库test的连接。然后使用PreparedStatement接口实现了插入一条数据和查询所有数据的操作,并使用了setXXX方法设置占位符的值。最后,我们关闭了ResultSet、PreparedStatement和Connection对象,释放了资源。 希望我的回答能帮到你,如果还有其他问题可以继续问我哦。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值