import java.sql.*
public class ConnectionManager {
private static final String DRIVER_CLASS="com.microsoft.sqlserver.jdbc.SQLServerDriver"
private static final String DATABASE_URL="jdbc:sqlserver://localhost:1433DatabaseName=student"
private static final String DATABASE_USER="xz"
private static final String DATABASE_PASSWORD="test"
private ConnectionManager()
{}
/**
* 返回连接
* @return Connection
* @throws DBAccessException
*/
public static Connection getConnection()
{
Connection dbConnection=null
try {
Class.forName(DRIVER_CLASS)
dbConnection=DriverManager.getConnection(DATABASE_URL,DATABASE_USER,DATABASE_PASSWORD)
} catch (ClassNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace()
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace()
}
return dbConnection
}
/**
* 关闭连接
* @param conn
* Connection
*/
public static void closeConnection(Connection conn)
{
try{
if(conn!=null &&!conn.isClosed())
{
conn.close()
conn=null
}
}catch(Exception ex)
{
System.out.println(ex.getMessage())
}
}
/**
* 关闭结果集
* @param rs
* ResultSet
*/
public static void closeResultSet(ResultSet rs)
{
try{
if(rs!=null)
{
rs.close()
rs=null
}
}catch(Exception ex)
{
System.out.println(ex.getMessage())
}
}
/**
* 关闭SQL预处理语句
* @param pstmt
* PreparedStatement
*/
public static void closePreparedStatement(PreparedStatement pstmt)
{
try{
if(pstmt!=null)
{
pstmt.close()
pstmt=null
}
}catch(Exception ex)
{
System.out.println(ex.getMessage())
}
}
/**
* 关闭SQL语句
* @param stmt
* Statement
*/
public static void closeStatement(Statement stmt)
{
try{
if(stmt!=null)
{
stmt.close()
stmt=null
}
}catch(Exception ex)
{
System.out.println(ex.getMessage())
}
}
public static void main(String[]args)
{
try {
Connection con=ConnectionManager.getConnection()
if(!con.isClosed())
System.out.println("数据库连接成功。。。。。")
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace()
}
}
}
User.javapublic class User {
private String username
private String userpass
public String getUsername() {
return username
}
public void setUsername(String username) {
this.username = username
}
public String getUserpass() {
return userpass
}
public void setUserpass(String userpass) {
this.userpass = userpass
}
}
UserDAO.javaimport java.util.*
import java.sql.*
public class UserDAO {
public List<User>getAllUser()
{
Connection conn=null
PreparedStatement pstmt=null
ResultSet rs=null
List<User>userList=new ArrayList<User>()
String sql="select UserName,UserPas from Users"
try {
conn=ConnectionManager.getConnection()
pstmt=conn.prepareStatement(sql)
rs=pstmt.executeQuery()
while(rs.next())
{
User u=new User()
u.setUsername(rs.getString("UserName"))
u.setUserpass(rs.getString("UserPas"))
userList.add(u)
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace()
}finally
{
ConnectionManager.closeConnection(conn)
ConnectionManager.closePreparedStatement(pstmt)
ConnectionManager.closeResultSet(rs)
}
return userList
}
}
1、加载驱动程序。
2、创建连接对象。
3、创建sql语句执行对象 。
4、执行sql语句。
5、对执行结果进行处理。
6、关闭相关的连接对象即可(顺序跟声明的顺序相反)。
处理结果两种情况:
1、执行更新返回的是本次 *** 作影响到的记录数。
2、执行查询返回的结果是一个ResultSet对象。
ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些 行中数据的访问。
扩展资料:
Statement
要执行SQL语句,必须获得java.sql.Statement实例,Statement实例分为以下3 种类型:
1、执行静态SQL语句。通常通过Statement实例实现。
2、执行动态SQL语句。通常通过PreparedStatement实例实现。
3、执行数据库存储过程。通常通过CallableStatement实例实现。
参考资料:百度百科JAVA
publicclass
www
{
public
static
void
main(String[]args)
throws
Exception
{
//第一步:加载驱动(驱动jar包必须加入classpath中)
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver")
//第二步:建立连接(根据实际情况替换数据库的主机地址、端口号、数据库明、登录名、密码)
Connection
conn
=
DriverManager.getConnection("jdbc:sqlserver://localhost:1433databaseName=shijiuban1",
"sa",
"111111")
System.out.println("当前连接到的数据库="+conn.getCatalog())//查看当前连接到的数据库名
//第三步:创建Statement对象
Statement
stmt
=
conn.createStatement()//只读的结果集
//Statement
stmt2
=
conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE)//可更新的结果集
//第四步:执行 *** 作(增删改查)
ResultSet
rs
=
stmt.executeQuery("select
*
from
stt")
//处理结果
while(rs.next()){
System.out.println(rs.getString("1"))
}
//第五步:关闭连接
conn.close()
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)