您的位置:首页 > 编程语言 > Java开发

JDBC的基本使用

2017-05-08 21:04 148 查看

JDBC

java database connectivity的缩写

SUN公司提供的一套操作数据库的标准规范

JDBC驱动

实现了JDBC规范的类,由数据库厂商提供

JDBC规范类

DriverManager:用于注册驱动

Connection: 表示与数据库创建的连接,所有与数据库交互都是基于连接对象的

Statement: 操作数据库sql语句,并返回相应结果

ResultSet: 结果集或一张虚拟表

– 提供一个游标,默认游标指向结果集第一行之前。

– 调用一次next(),游标向下移动一行

– 提供一些get方法

使用方法

获取数据库连接

public Connection getConnection() {
try {
Class.forName("com.mysql.jdbc.Driver"); //加载MySQL数据库驱动
String url = "jdbc:mysql://localhost:3306/数据库名"; //定义与连接数据库的url
String user = "root";
//定义连接数据库的用户名
String passWord = "123456"; //定义连接数据库的密码
conn = DriverManager.getConnection(url, user, passWord);//连接连接
}
catch (Exception e) {
e.printStackTrace();
}
return conn;
}


获取数据表中所有信息

public List<User> query() {
List<User> list = new ArrayList<User>(); // 定义用于保存返回值的List集合
Connection conn = getConnection(); // 获取数据库连接
try {
Statement staement = conn.createStatement();
String sql = "select * from user";
ResultSet set = staement.executeQuery(sql); // 执行查询语句返回查询结果集
while (set.next()) { // 循环遍历查询结果集
User user = new User(); // 定义与数据库对应的JavaBean对象
// 设置对象属性值
user.setUsername(set.getString("username"));
user.setPassword(set.getString("password"));
list.add(user); // 将JavaBean添加到集合中
}
set.close();
conn.close();
staement.close();
} catch (Exception e) {
e.printStackTrace();
}
return list;
}


使用预编译对象(防止SQL注入)

preparedStatement:预编译对象,是Statement对象的子类

性能高

过滤用户输入的关键字,防止SQL注入

Connection conn = getConnection(); // 获取数据库连接
try {
// 准备sql语句
String sql = "insert into user(name,username,password) values(?,?,?)";
PreparedStatement ps = conn.prepareStatement(sql);
// 设置?对应参数
ps.setString(1, user.getName());
ps.setString(2, user.getUsername());
ps.setString(3, user.getPassword());
// 执行sql语句
ps.execute();
} catch (SQLException e) {
e.printStackTrace();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java jdbc