mysql的jdbc案例_MYSQL连接jdbc增删改查案例

下面的这个代码是为了避免重复的进行相同的操作

import java.io.InputStream;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

import java.util.Properties;

public class JDBCUtils {

private static Properties pro =null;

static {

InputStream in = JDBCUtils.class.getClassLoader().getResourceAsStream(“db.properties”);

//定义properties对象,把读取出来的内容放在properties里面

pro =new Properties();

try {

pro.load(in);

Class.forName(pro.getProperty("driverName"));

}catch(Exception e) {

e.printStackTrace();

}

}

public static Connection getConnection() throws SQLException {

return DriverManager.getConnection(pro.getProperty("url"), pro.getProperty("user"), pro.getProperty("password"));

}

}

/**

进行数据库的增删改查操作

*/

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import org.junit.Test;

public class tb_student_info_test {

Connection conn = null;

PreparedStatement ps = null;

ResultSet rs = null;

/**

查询

@throws SQLException

*/

@Test

public void query() throws SQLException {

try {

conn = JDBCUtils.getConnection();

String sql = “select * from tb_film_info where f_name=?”;

ps = conn.prepareStatement(sql); ps.setString(1, "神话");

System.out.println(sql);

rs = ps.executeQuery();

int columnCount = rs.getMetaData().getColumnCount();

System.out.println("总共有:" + columnCount);

while (rs.next()) {

for (int i = 1; i <= columnCount; i++) {

System.out.print(rs.getString(i));

if (i < columnCount) {

System.out.print(",");

}

}

System.out.println();

}

} catch (Exception e) {

e.printStackTrace();

} finally {

if (rs != null) {

rs.close();

}

if (ps != null) {

ps.close();

}

if (conn != null) {

conn.close();

}

}

}

/**

添加

@throws SQLException

*/

@Test

public void insertNews() throws SQLException {

try {

conn = JDBCUtils.getConnection();

String sql=“insert into tb_film_info(f_name,f_type,f_score,f_play_year,f_origin) values(?,?,?,?,?)”;

ps=conn.prepareStatement(sql);

ps.setString(1, “动物世界”);

ps.setString(2, “动作片”);

ps.setInt(3, 100);

ps.setInt(4, 2019);

ps.setString(5, “中国”);

int i = ps.executeUpdate();

System.out.println(“成功添加”+i+“条数据”);

}catch(Exception e) {

e.printStackTrace();

}finally {

if(rs!=null) {rs.close();}

if(ps!=null) {ps.close();}

if(conn!=null) {conn.close();}

}

}

/**

修改

@throws SQLException

*/

@Test

public void updateNews() throws SQLException {

try {

conn=JDBCUtils.getConnection();

String sql=“update tb_film_info set f_score=? where f_name=?”;

ps=conn.prepareStatement(sql);

ps.setInt(1, 98);

ps.setString(2, “动物世界”);

int i = ps.executeUpdate();

System.out.println(“成功修改”+i+“条数据”);}

catch(Exception e) {

e.printStackTrace();

}finally {

if(rs!=null) {

rs.close();

}

if(ps!=null) {

ps.close();

}

if(conn!=null) {

conn.close();

}

}

}

/**

删除

*/

@Test

public void deleteNews() throws SQLException {

try {

conn=JDBCUtils.getConnection();

String sql=“delete from tb_film_info where f_name=?”;

ps=conn.prepareStatement(sql);

ps.setString(1, “动物世界”);

int i = ps.executeUpdate();

System.out.println(“成功删除”+i+“条数据”);}

catch(Exception e) {

e.printStackTrace();

}finally {

if(rs!=null) {

rs.close();

}

if(ps!=null) {

ps.close();

}

if(conn!=null) {

conn.close();

}

}

}

}

总结:

获取元数据(列)

ResultSet:getMetaData(); 得到元数据;返回的是:ResultSetMetaData对象

getColumnCount();返回有几个列

PreparedStatement

他是Statement接口的子接口

强大之处

防止sql攻击

提高代码的可维护性

提高效率

PreparedStatement 用法

1.先给出sql模板

参数:都用 ?代替

2.调用Connection 的preparedStatement(sql模板);

返回的PreparedStatement;

3.调用setXXX()

setInt(index,value);

setString(index,value);

注意:有几个? 就设置几个值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值