目录
---------------------------------------声明-----------------------------------------
1 什么是JDBC
概念:Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序 如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC也是Sun Microsystems的商标。我们通常说的JDBC是面向关系型数据库的。
各数据库厂商根据JDBC的规范,实现自身数据库操作的功能代码,然后以jar包(数据库厂商提供的驱动 包)的形式提供给开发人员使用,开发人员使用反射的机制创建这些具体实现类,按照JDBC的规范来完 成数据库的操作。
接口和JDBC规范的理解:
2 创建数据库
创建商信息表
3 JDBC进行数据库的操作
3.1 先在IDEA中创建实体类:
类的名字对应数据库表的名字、类的属 性对应表的字段
//IDEA自动构造代码快捷键: alt + insert
3.2 JDBC的增删改查操作
1.首先创建JDBC工具包
public class JDBC {
private static String driver="com.mysql.cj.jdbc.Driver";
private static String url="jdbc:mysql://localhost:3306/mydb";//mysql库名
private static String name="root";//用户名
private static String pwd="123";//密码
private static Connection conn=null;
public static Connection getConn() {
//1.导入链接MySQL的驱动包
try {
//2.通过反射加载驱动包
Class.forName(driver);
//3.通过驱动管理器获取数据库的链接
conn=DriverManager.getConnection(url, name, pwd);
} catch (ClassNotFoundException e) {
System.err.println("找不到加载的驱动类");
}catch (SQLException e) {
System.err.println("连接数据库失败");
}
return conn;
}
public static void close(Connection conn,PreparedStatement ps,ResultSet rs) {
try {
if (conn!=null) {
conn.close();
}
if (ps!=null) {
ps.close();
}
if (rs!=null) {
rs.close();
}
} catch (Exception e) {
System.out.println("资源关闭失败");
}
}
public static void close(Connection conn,PreparedStatement ps) {
try {
if (conn!=null) {
conn.close();
}
if (ps!=null) {
ps.close();
}
} catch (Exception e) {
System.out.println("资源关闭失败");
}
}
}
2.创建接口方法进行增删改查
3. JDBC的增删改查操作
查询获得的结果集
结果集的游标默认指向的是数据标题行,需要使用 next() 方法移动游标,指向真正的数据 行。该 方法的返回值是boolean类型,如果向下移动有数据行返回true,否则返回false。
public class GoodsDaoimpl implements GoodsDao{
Connection conn=null;
PreparedStatement ps=null;
ResultSet rs=null;
Goods good=null;
int n;
@Override
public List<Goods> GoodsAll() {
List<Goods> arr=new ArrayList<Goods>();
try {
conn=JDBC.getConn();
String Sql="select * from goods";
ps=conn.prepareStatement(Sql);
//
rs=ps.executeQuery();
//
while(rs.next()) {
good=new Goods();
good.setGoodsId(rs.getInt("goodsId"));
good.setGoodsName(rs.getString("goodsName"));
good.setPrice(rs.getDouble("price"));
good.setStock(rs.getInt("stock"));
good.setSupplier(rs.getString("supplier"));
arr.add(good);