67,512
社区成员
发帖
与我相关
我的任务
分享
package com.cw.util;
import java.io.File;
import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
import org.junit.Test;
public class DBUtil {
@Test
// 1.getConnenction 方法的封装
public static Connection getConnection() {
// 利用配置文件来读取数据库路径,用户名,密码
String url = null;
String dbUser = null;
String dbPwd = null;
Connection conn = null;
Properties pro = new Properties();
try {
FileInputStream fis=new FileInputStream(new File("src/db_mysql.properties"));
pro.load(fis); //读取配置文件中的键值对
url = pro.getProperty("url");
dbUser = pro.getProperty("dbUser");
dbPwd = pro.getProperty("dbPwd");
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(url, dbUser, dbPwd);
// 如果创建Connection成功则返回一个Connection对象
System.out.println(url+dbUser+dbPwd);
} catch (Exception e) {
// TODO: handle exception
}
return conn;
}
// 2.close() 方法的封装,关闭ResultSet,PreparedStatement,Connection
public static void close(ResultSet rs, Statement pstmt,
Connection conn) {
try {
if (rs != null) {
rs.close();
}
if (pstmt != null) {
pstmt.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
package com.cw.DAO.imp;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import com.cw.DAO.DogDAO;
import com.cw.entity.Dog;
import com.cw.util.DBUtil;
public class DogDAOImpl implements DogDAO{
public void deleteById(int id) {
// TODO Auto-generated method stub
}
public Dog findById(int id) {
// TODO Auto-generated method stub
return null;
}
public Dog findByName(String name) {
// TODO Auto-generated method stub
return null;
}
public List<Dog> findall() {
String sql="select * from dog";
Connection conn=null;
PreparedStatement pstmt=null;
ResultSet rs=null;
//定义一个集合,存放数据库中信息
List<Dog> list=new ArrayList<Dog>();
//获取连接
conn=DBUtil.getConnection();
try {
pstmt=conn.prepareStatement(sql);
rs=pstmt.executeQuery();
while(rs.next()){
Dog dog=new Dog();
dog.setName(rs.getString("name"));
dog.setAge(rs.getInt("age"));
dog.setSex(rs.getString("sex"));
dog.setColor(rs.getString("color"));
list.add(dog);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
DBUtil.close(rs, pstmt, conn);
return list;
}
public void insert(Dog dog) {
String sql="insert into dog(name,age,sex,color)values("+"'"+dog.getName()+"',"+dog.getAge()+",'"+dog.getSex()+"','"+dog.getColor()+"')";
Connection conn=null;
PreparedStatement pstmt=null;
try {
conn=DBUtil.getConnection();
pstmt=conn.prepareStatement(sql);//这里抱报错
pstmt.setString(1, dog.getName());
pstmt.setInt(2, dog.getAge());
pstmt.setString(3, dog.getSex());
pstmt.setString(4, dog.getColor());
pstmt.executeUpdate();
System.out.println("conn"+conn);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
DBUtil.close(null, pstmt, conn);
}
}
}