JDBC
Posted lxx-1843693653
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JDBC相关的知识,希望对你有一定的参考价值。
*JDBC
全称 java data Base Connectivity//翻译 java 数据库链接
JDBC是一组以java编写的类和接口
好处:
1.java开发人员完全不需要关心数据库的连接方式和实现手段
2.提高代码的可维护性,是一种组件化私想
3.代码的执行效率很高,速度很快
缺点
1.代码繁琐
2.维护代价高
*怎么操作
1.获取连接
获取信息
下面的四个信息,当开发者在跟换数据库时候
需要改动,其他所有代码都不需要更改
定义字符串类型变量代表后面一串//包名 //本机地址 /端口 /数据库
String url=" jdbc:mysql://localhost:3306/j0304";
用户名
String username="root";
密码
String password="123456";
驱动程序
String driver="com.mysql.jdbc.Driver";//驱动程序
*这是增删改使用的:
//创建一个对象
Student student=new Student();
student.setName("wangwu");
student.setAddress("shanghai");
Connection conn=null;
PreparedStatement stmt =null;
try {
2.加载驱动
//java的反射技术
Class.forName(driver);
3.创建数据库连接
conn = DriverManager.getConnection(url,username,password);
4.执行sql语句
//字符串拼接实现sql
//缺点:
//麻烦,难以维护
//不安全,完全无法避免sql注入
stmt = conn.prepareStatement("insert into student(name ,address)values (?,?)");
//把student 加入数据库 //z占位符 (?,?)
//给上述sql语句de占位符赋值
stmt.setString(1,student.getName());
stmt.setString(2,student.getAddress());
//赠删改使用这个方法
int i=stmt.executeUpdate();
System.out.println(i);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}finally {
//3 关闭资源
try {
if (stmt != null) {
stmt.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
try {
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
查询使用
String url= "jdbc:mysql://localhost:3306/j0304";
String username="root";
String password="123456";
String driver="com.mysql.jdbc.Driver";
Connection conn=null;
PreparedStatement stmt=null;
ResultSet rs=null;
try {
Class.forName(driver);
conn = DriverManager.getConnection(url,username,password);
stmt = conn.prepareStatement("select *from Student");
rs = stmt.executeQuery();
while (rs.next()){
int sid=rs.getInt("sid");
System.out.println(sid);
String name =rs.getString("name");
System.out.println(name);
String address=rs.getString("address");
System.out.println(address);
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}finally {
try {
if (rs != null) {
rs.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
try {
if (stmt != null) {
stmt.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
try {
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
以上是关于JDBC的主要内容,如果未能解决你的问题,请参考以下文章