package
com.company.DAO;import
com.company.bean.User;import
com.company.utils.DBUtils;import
java.sql.Connection;import
java.sql.ResultSet;import
java.sql.SQLException;import
java.sql.Statement;public
class Dao {public static
void read()
{Connection conn
=
null;Statement
stmt =
null;ResultSet
rs =
null;try
{conn =
DBUtils.getConnection();stmt
=
conn.createStatement();rs
=
stmt.executeQuery("select
name,id,money from
user");while
(rs.next())
{User user =
new
User(rs.getString("name"),
rs.getInt("id"),
rs.getInt("money"));System.out.println(user.toString());}
} catch
(Exception e)
{e.printStackTrace();System.out.println(e.getMessage());}
}public static void
test() throws
SQLException{Connection
conn =
null;Statement
stmt =
null;ResultSet
rs =
null;try
{conn =
DBUtils.getConnection();//开启事务,设置自动提交条件为假conn.setAutoCommit(false);String
selectSql = "select name,id,money
from user where id=1";stmt
=
conn.createStatement();rs
=
stmt.executeQuery(selectSql);while
(rs.next())
{User user =
new
User(rs.getString("name"),
rs.getInt("id"),
rs.getInt("money"));System.out.println(user.toString());}String
updateSql = "update user set money
= money -100 where
id=1";stmt.executeUpdate(updateSql);rs
=
stmt.executeQuery(selectSql);int
money =
0;if
(rs.next())
{User user =
new
User(rs.getString("name"),
rs.getInt("id"),
rs.getInt("money"));System.out.println(user.toString());money
=
rs.getInt("money");}updateSql
= "update user set money = money +100 where
id=4";stmt.executeUpdate(updateSql);rs
=
stmt.executeQuery("select
name,id,money from user where
id=4");if
(rs.next())
{User user =
new
User(rs.getString("name"),
rs.getInt("id"),
rs.getInt("money"));System.out.println(user.toString());money
=
rs.getInt("money");}if
(money >
1000) {throw
new
RuntimeException("钱的数量已经超过了最大值");}//提交事务conn.commit();}
catch (SQLException
e)
{e.printStackTrace();if
(conn !=
null)
{conn.rollback();}throw
e;} finally
{DBUtils.free(conn,
stmt,
rs);}
}}