数据库准备
1、首先我在数据库里边新建一个test表
create table test(id int primary key auto_increment,name varchar(10),email varchar(20));
我们的test表建好了
eclipse部分
1、我们需要准备的有:mysql的jar包(添加jar包的方式请看此处)、TestBean类、BaseDao类、TestDao类
2、TestBean类的代码
package bean;
public class TestBean {
private int id;
private String name;
private String email;
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 String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
BaseDao类的代码
package 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 static final String DBDRIVER = "com.mysql.jdbc.Driver"; // 驱动程序名
private static final String DBURL = "jdbc:mysql://localhost:3306/stx16?characterEncoding=utf8"; // 数据库的路径---“stx16”是指表所在的数据库的名字
private static final String DBUSER = "root"; // 数据库用户名
private static final String PASSWORD = "root"; // 数据库密码
// 获取数据库链接
public static Connection getConn() {
Connection connection = null;
try {
// 装载驱动程序
Class.forName(DBDRIVER);
// 建立连接,其实是创建了一个连接对象
connection = DriverManager.getConnection(DBURL, DBUSER, PASSWORD);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return connection;
}
public static void close(Connection conn,PreparedStatement pst,ResultSet rs){
//释放资源,释放资源顺序:先创建的后释放,后创建的先释放
try {
if(rs!=null){
rs.close();
}
if(pst!=null){
pst.close();
}
if(conn!=null){
conn.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args){
Connection c=getConn();
System.out.println(c);
}
}
TestDao类的代码
package dao;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import bean.TestBean;
import dao.TestDao;
public class TestDao extends BaseDao {
private Connection conn=null;//连接对象变量
private PreparedStatement pst=null;//预处理执行对象变量
private ResultSet rs=null;//结果集变量
/***************************添加数据*********************/
public int insert(TestBean bean){
int num=0;
try {
//获取连接对象
conn=getConn();
//根据连接对象创建执行操作的对象
String insertSql="insert into test(name,email) values(?,?)";//修改为数据库所对应的字段名
pst=(PreparedStatement) conn.prepareStatement(insertSql);
pst.setString(1, bean.getName());//字段名所对应的数据类型
pst.setString(2, bean.getEmail());
//预处理对象执行语句
num=pst.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
//释放资源
close(conn,pst,rs);
}
return num;
}
public static void main(String[] args) {
TestBean p = new TestBean();
p.setName("张三");
p.setEmail("25@qq.com");
TestDao dao = new TestDao();
dao.insert(p);
}
}
数据库添加数据成功