环境准备
创建对应的类,并设置get 跟set方法
在java创建数据库的表对应的类时,一个一个输入会很麻烦
直接将数据库语句全部复制到类中 ,将 -- 全都替换成//
alt + 鼠标左键 :可以进行整列编辑 可以选中所有字段后面的内容按分号换成分号,再第一列加上private String ,个别为int的再个别修改就可以了
在实体类中,基本数据类型建议使用其对应的包装类型
private Integer id;//品牌id private String brandName;//品牌名字 private String companyName;//公司名字 private Integer ordered ;//排序字段 private String description; //描述信息 private Integer status; //状态:0禁用 1启用
Integer 默认为null 就不会像int 默认为0 影响数据初始化的状态
查询
1.SQL怎么写 ? select * from db_brand
2.参数要不要写? 不用
3.需要什么结果? 得到品牌集合list
4.记得释放资源
//加载配置文件 Properties prop =new Properties(); prop.load(new FileInputStream("D:\\Develop1\\jdbc-demo\\src\\druid.properties")); //获取连接池对象 DataSource dataSource= DruidDataSourceFactory.createDataSource(prop); //获取数据库连接 Connection Connection conn =dataSource.getConnection(); //定义SQL String sql ="select * from tb_brand"; //获取pstmt 对象 PreparedStatement pstmt =conn.prepareStatement(sql); //设置参数 //执行SQL ResultSet rs = pstmt.executeQuery(); List<Brand> list =new ArrayList<>(); //处理结果 while (rs.next()){ int id = rs.getInt("id"); String brandName = rs.getString("brand_name"); String companyName = rs.getString("company_name"); int ordered = rs.getInt("ordered"); String description = rs.getString("description"); int status = rs.getInt("status"); Brand brand =new Brand(id,brandName,companyName,ordered,description,status); list.add(brand); } System.out.println(list); //释放资源 rs.close(); pstmt.close(); conn.close();
添加
sql 语句:
String sql ="insert into tb_brand(brand_name,company_name,ordered,description,status) values(?,?,?,?,?)";
是否需要参数? 需要:除了id以外的所有数据
返回结果? boolean
//接收页面提交的参数 String brandName="香飘飘"; String companyName="香飘飘"; int ordered =1; String description="绕地球一圈"; int status =1; //加载配置文件 Properties prop =new Properties(); prop.load(new FileInputStream("jdbc-demo\\src\\druid.properties")); //获取连接池对象 DataSource dataSource= DruidDataSourceFactory.createDataSource(prop); //获取数据库连接 Connection Connection conn =dataSource.getConnection(); //定义SQL String sql ="insert into tb_brand(brand_name,company_name,ordered,description,status) values(?,?,?,?,?)"; //获取pstmt 对象 PreparedStatement pstmt =conn.prepareStatement(sql); //设置参数 pstmt.setString(1,brandName); pstmt.setString(2,companyName); pstmt.setInt(3,ordered); pstmt.setString(4,description); pstmt.setInt(5,status); //执行SQL int count = pstmt.executeUpdate(); System.out.println(count==0 ? "添加失败":"添加成功"); //处理结果 //释放资源 pstmt.close(); conn.close();
修改:根据id修改
sql:
String sql ="update tb_brand set " + "brand_name=? ,company_name=?,ordered=?,description=?,status=? where id=?";
其他都跟添加一样
删除:根据id删除
sql:
delete from tb_brand where id = ?;