这里还要记住引入额外的jar.这个网上很多的,这里使用的是MySql,搜一下MySql驱动的jar就行了。这里我们将一些操作都放到一个工具类中,这种方式是很优雅的。
第二个例子:使用JDBC来实现CRUD的操作
我们这里就采用分层操作:Dao层,Service层
首先看一下domain域中的User实体
package com.weijia.domain;
import java.util.Date;
public class User {
private int id;
private String name;
private Date birthday;
private float money;
public User(){
}
public User(int id,String name,Date birthday,float money){
this.id = id;
this.name = name;
this.birthday = birthday;
this.money = money;
}
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 Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public float getMoney() {
return money;
}
public void setMoney(float money) {
this.money = money;
}
@Override
public String toString(){
return "[id="+id+",name="+name+",birthday="+birthday+",money="+money+"]";
}
}
再来看一下Dao层结构:
接口:
package com.weijia.domain;
public interface UserDao {
//添加用户
public void addUser(User user);
//通过userid查询用户,id是唯一的,所以返回的是一个user
public User getUserById(int userId);
//更新用户信息
public int update(User user);
//删除用户信息
public int delete(User user);
}
实现类:
package com.weijia.domain;
import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import com.weijia.firstdemo.JdbcUtils;
public class UserDaoImpl implements UserDao{
/**
* 添加用户
*/
public void addUser(User user) {
Connection conn = null;
PreparedStatement st = null;
try{
conn = JdbcUtils.getConnection();
String sql = "insert into user(id,name,birthday,money) values( , , , )";
st = conn.prepareStatement(sql);
st.setInt(1,user.getId());
st.setString(2,user.getName());
//日期格式的转换(utils.date转化成sql.date)
st.s