开发步骤
一.导入jar包
1.导入mysql-connector-java-5.1.0-bin.jar包;
二.写实体类:(实体层)
package com.ybb.entity;
public class Goods {
private int id;
private String name;
private double price;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public Goods(int id, String name, double price) {
super();
this.id = id;
this.name = name;
this.price = price;
}
public Goods() {
super();
// TODO Auto-generated constructor stub
}
}
三.创建一个dao包(dao层)
1.写BaseDao类(是一个封装的类,里面封装的是增删改查的核心方法,可以通过调用来实现)
package com.ybb.dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class BaseDao {
private Connection coon;
//获取连接数据库
public Connection getConnnection(){
try {
//通过反射加载驱动
Class.forName("com.mysql.jdbc.Driver");
//获取连接
coon=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/school?useUnicode=true&characterEncoding=utf8", "ybb", "1234");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return coon;
}
//update users set name=? where id=?;
//增删改
public int update(String sql,Object[]objects){
int num=0;
try {
//获取连接
coon=getConnnection();
PreparedStatement ps=coon.prepareStatement(sql);
if (objects!=null&&objects.length>0) {
for (int i = 0; i < objects.length; i++) {
//替换占位符
ps.setObject((i+1), objects[i]);
}
}
//执行增删改操作
num=ps.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return num;
}
//查询
public ResultSet getResultSet(String sql,Object[]objects){
ResultSet rs=null;
try {
//获取连接
coon = getConnnection();
PreparedStatement ps = coon.prepareStatement(sql);
if (objects!=null&&objects.length>0) {
for (int i = 0; i < objects.length; i++) {
ps.setObject((i+1), objects[i]);
}
}
//执行查询方法
rs=ps.executeQuery();
} catch (Exception e) {
// TODO: handle exception
}
return rs;
}
//关闭资源
public void close(Connection connection ,PreparedStatement ps , ResultSet rs){
try {
if(connection !=null){
connection.close();
}
if(ps !=null){
ps.close();
}
if(rs !=null){
rs.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
2.写接口类
package com.ybb.dao;
import java.util.List;
import com.ybb.entity.Goods;
public interface GoodsDao {
//查询所有
public List<Goods> findGoods();
//增加
public int addGoods(Goods goods);
//修改
public int updateGoods(Goods goods);
//删除
public int deleteGoods(int id);
//分页(pageIndex:页数,pageSize:页量)
public List<Goods> fengYe(int pageIndex,int pageSize);
}
3.写实现接口类
扫描二维码关注公众号,回复:
3359316 查看本文章
package com.ybb.dao;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import com.ybb.entity.Goods;
public class GoodsDaoImpl extends BaseDao implements GoodsDao{
//查询
@Override
public List<Goods> findGoods() {
// TODO Auto-generated method stub
List<Goods>lt=new ArrayList<Goods>();
try {
String sql = "select * from goods";
Object[] objects = {};
ResultSet rs = this.getResultSet(sql, objects);
while (rs.next()){
Goods goods=new Goods();
goods.setId(rs.getInt("id"));
goods.setName(rs.getString("name"));
goods.setPrice(rs.getDouble("price"));
lt.add(goods);
}
} catch (Exception e) {
// TODO: handle exception
}
return lt;
}
@Override
public int addGoods(Goods goods) {
// TODO Auto-generated method stub
int count=0;
String sql="insert into goods(name,price) values(?,?)";
Object[]objects={goods.getName(),goods.getPrice()};
/*ResultSet rs=this.getResultSet(sql, objects);*/
count=this.update(sql, objects);
return count;
}
//修改
@Override
public int updateGoods(Goods goods) {
// TODO Auto-generated method stub
int count=0;
String sql="update goods set name=?,price=? where id=?";
Object[]objects={goods.getName(),goods.getPrice(),goods.getId()};
count=this.update(sql, objects);
return count;
}
//删除
@Override
public int deleteGoods(int id){
// TODO Auto-generated method stub
int count=0;
String sql="delete from goods where id=?";
Object[]objects={id};
count=this.update(sql, objects);
return count;
}
@Override
public List<Goods> fengYe(int pageIndex, int pageSize) {
// TODO Auto-generated method stub
return null;
}
}
四.测试类(测试层)
// GoodsDaoImpl goodsDaoImpl=new GoodsDaoImpl();
// //查询
// List<Goods>lt=goodsDaoImpl.findGoods();
// for (Goods goo:lt) {
// System.out.println(goo.getName());
// }
//增加
// Goods goods=new Goods();
// goods.setName("保温杯");
// goods.setPrice(23.5);
// int count=goodsDaoImpl.addGoods(goods);
// System.out.println(count);
//修改
// Goods goods=new Goods();
// goods.setId(17);
// goods.setName("ipad");
// goods.setPrice(2399.0);
// int count=goodsDaoImpl.updateGoods(goods);
// System.out.println(count);
//删除
// int count=goodsDaoImpl.deleteGoods(22);
// System.out.println(count);