* To change this template, choose Tools | Templates
* and open the template in the editor.
*/package ******
import java.io.PrintWriter
import java.sql.*/**
* @author wfg
*/
public class DB_Conn {
private String driverName = "com.mysql.jdbc.Driver" //JDBC驱动
private String userName = "root" //数据库用户名
private String userPwd = "*****" //数据库用户密码
private String dbName = "******"//数据库名
private String url = "jdbc:mysql://localhost:3306/"+dbName+"?user="+userName+
"&password="+userPwd //数据库连接字符串
private Connection conn = null//数据库连接对象
public Statement sm = null//数据库语句对象
private PrintWriter out = null //建立数据库连接函数
public void ConnectDB(){
try{
Class.forName(driverName).newInstance()
conn = DriverManager.getConnection(url)
sm = conn.createStatement()
}
catch(Exception e){
e.printStackTrace()
out.print("数据库连接失败!")
}
}//释放数据库连接函数
public void CloseDB(){
try{
if(sm != null){
sm.close()
}
conn.close()
}
catch(SQLException SqlE){
SqlE.printStackTrace()
out.print("数据库关闭失败!")
}
}
}
这是先建立连接
数据库连接类:
package cn.hpu.bbs.utilimport java.sql.Connection
import java.sql.DriverManager
import java.sql.PreparedStatement
import java.sql.ResultSet
import java.sql.SQLException
import java.sql.Statement
public class DB {
// 定义MySQL的数据库驱动程序
public static final String DBDRIVER = "com.mysql.jdbc.Driver"
//定义mysql的数据库连接地址:
public static final String DBDURL = "jdbc:mysql://localhost/bbs2014"
//mysql数据库的连接用户名
public static final String DBUSER = "root"
//mysql数据库的连接密码
public static final String DBPASS = "1234"
public static Connection createConn(){
Connection conn =null
try {
Class.forName(DBDRIVER)
conn=DriverManager.getConnection(DBDURL,DBUSER,DBPASS)
} catch (ClassNotFoundException e) {
e.printStackTrace()
} catch (SQLException e) {
e.printStackTrace()
}
return conn
}
public static PreparedStatement prepare(Connection conn,String sql){
PreparedStatement ps=null
try {
ps=conn.prepareStatement(sql)
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace()
}
return ps
}
public static void close(Connection conn){
if(conn==null) return
try {
conn.close()
conn=null
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace()
}
}
public static void close(Statement stmt){
if(stmt==null) return
try {
stmt.close()
stmt=null
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace()
}
}
public static void close(ResultSet rs){
if(rs==null) return
try {
rs.close()
rs=null
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace()
}
}
}
Category的一个JavaBean:
package cn.hpu.bbs.modelpublic class Category {
private int id
private String name
private String description
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 getDescription() {
return description
}
public void setDescription(String description) {
this.description = description
}
}
对数据库和Category的 *** 作类://说白了就是增删查修
<pre name="code" class="java">package cn.hpu.bbs.serviceimport java.sql.Connection
import java.sql.PreparedStatement
import java.sql.ResultSet
import java.sql.SQLException
import java.util.ArrayList
import java.util.List
import cn.hpu.bbs.model.Category
import cn.hpu.bbs.util.DB
public class CategoryService {
public void add(Category c){
Connection conn=DB.createConn()
String sql="insert into category (name,description) values (?,?)"
PreparedStatement ps=DB.prepare(conn, sql)
try {
ps.setString(1, c.getName())
ps.setString(2, c.getDescription())
ps.executeUpdate()
} catch (SQLException e) {
e.printStackTrace()
}
DB.close(ps)
DB.close(conn)
}
public List<Category> list(){
Connection conn=DB.createConn()
String sql="select * from category"
PreparedStatement ps=DB.prepare(conn, sql)
List<Category> categories=new ArrayList<Category>()
try {
ResultSet rs=ps.executeQuery()
Category c=null
while(rs.next()){
c=new Category()
c.setId(rs.getInt("id"))
c.setName(rs.getString("name"))
c.setDescription(rs.getString("description"))
categories.add(c)
}
} catch (SQLException e) {
e.printStackTrace()
}
DB.close(ps)
DB.close(conn)
return categories
}
public void delete(Category c){
deleteById(c.getId())
}
public void deleteById(int id){
Connection conn=DB.createConn()
String sql="delete from category where id=?"
PreparedStatement ps=DB.prepare(conn, sql)
try {
ps.setInt(1, id)
ps.executeUpdate()
} catch (SQLException e) {
e.printStackTrace()
}
DB.close(ps)
DB.close(conn)
}
public void update(Category c){
Connection conn=DB.createConn()
String sql="update category set name = ? , description = ? where id = ?"
PreparedStatement ps=DB.prepare(conn, sql)
try {
ps.setString(1, c.getName())
ps.setString(2, c.getDescription())
ps.setInt(3, c.getId())
ps.executeUpdate()
} catch (SQLException e) {
e.printStackTrace()
}
DB.close(ps)
DB.close(conn)
}
public Category loadById(int id){
Connection conn=DB.createConn()
String sql="select * from category where id=?"
PreparedStatement ps=DB.prepare(conn, sql)
Category c=null
try {
ps.setInt(1, id)
ResultSet rs=ps.executeQuery()
if(rs.next()){
c=new Category()
c.setId(rs.getInt("id"))
c.setName(rs.getString("name"))
c.setDescription(rs.getString("description"))
}
} catch (SQLException e) {
e.printStackTrace()
}
DB.close(ps)
DB.close(conn)
return c
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)