1、连接数据库工具类
package com.JDBC.ConnectionDB;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class ConnectionDB
{
public static Connection getConnection() throws ClassNotFoundException
{
String url = "jdbc:sqlserver://localhost:1433;databasename=Student";
String user = "sa";
String password = "246855";
Connection conn = null;
try
{
// 获得数据库驱动
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
// 获得数据库连接
conn = DriverManager.getConnection(url, user, password);
// 关闭事务的自动提交
conn.setAutoCommit(false);
return conn;
} catch (SQLException e)
{
System.out.println("连接数据库失败!");
e.printStackTrace();
}
return null;
}
}
2、读者信息持久类
package com.JDBC.ConnectionDB;
public class ReaderInfo
{
private Integer id;
private String password;
public Integer getId()
{
return id;
}
public void setId(Integer id)
{
this.id = id;
}
public String getPassword()
{
return password;
}
public void setPassword(String password)
{
this.password = password;
}
}
3、读者信息控制类添加/删除
package com.JDBC.ConnectionDB;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
public class ReaderController
{
public boolean save() throws Exception
{
Connection conn = ConnectionDB.getConnection();
String listSQL = "insert into student (id,password)" + "values(?,?)";
// 数据库操作对象
PreparedStatement pstmt = conn.prepareStatement(listSQL);
try
{
pstmt.setInt(1, 20);
pstmt.setString(2, "xxxooo");
// 保存读者信息
boolean boo = pstmt.execute();
System.out.println(boo);
conn.commit();
if (boo == true)
{
return true;
} else
{
return false;
}
} catch (SQLException e)
{
conn.rollback();
e.printStackTrace();
} finally
{
conn.close();
}
return false;
}
public List findAll() throws Exception
{
Connection conn = ConnectionDB.getConnection();
String ListSQL = "select * from student order by id asc";
List list = new ArrayList();
try
{
PreparedStatement psmt = conn.prepareStatement(ListSQL);
ResultSet rs = psmt.executeQuery();
while (rs.next())
{
ReaderInfo reader = new ReaderInfo();
reader.setId(rs.getInt(1));
reader.setPassword(rs.getString(2));
list.add(reader);
}
conn.commit();
return list;
} catch (SQLException e)
{
e.printStackTrace();
} finally
{
if (conn != null)
conn.close();
}
return list;
}
}
4、测试程序
package com.JDBC.ConnectionDB;
import java.util.ArrayList;
import java.util.List;
public class TestJDBC
{
public static void main(String[] args)
{
// 实例化控制器类对象
ReaderController rc = new ReaderController();
try
{
rc.save();
List list = new ArrayList();
list = rc.findAll();
System.out.println("---------");
// 输出读者信息
System.out.println("ID PSW");
System.out.println("---------");
for (int i = 0; i < list.size(); i++)
{
ReaderInfo reader = (ReaderInfo) list.get(i);
System.out.print(" " + reader.getId() + " ");
System.out.println(" " + reader.getPassword() + " ");
}
} catch (Exception e)
{
e.printStackTrace();
}
}
}