Java单元测试如何测试修改数据库部分的代码
有测试框架。mock可以模拟测试而不对数据库操作省去还原数据库的麻烦。或者直接编写junit测试操作数据库。但是这样要在操作后还原数据库。
柳河网站建设公司成都创新互联公司,柳河网站设计制作,有大型网站制作公司丰富经验。已为柳河超过千家提供企业网站建设服务。企业网站搭建\成都外贸网站建设要多少钱,请找那个售后服务好的柳河做网站的公司定做!
一段java中数据库代码解释
StringBuffer
sqlq=new
StringBuffer("
SELECT
*
FROM
")
;//申明一个可变字符串
,要存了一个sql语句,并且由"
SELECT
*
FROM
"可知其为一个select查询语句
sqlq.append(DtoMapGroupOptions.DB_TABLE_NAME)
;//DtoMapGroupOptions.DB_TABLE_NAME应该是一个字符串,字面值为一个表的名称,要在这个表里查数据
sqlq.append("
ORDER
BY
")
;//这个制定查出来的结果集需要排序
sqlq.append(DtoMapGroupOptions.COLUMN_optionID)
;//DtoMapGroupOptions.COLUMN_optionID应该是某一列的列名,根据这一列来排序,如果这一列是数字,那么就会根据数字大小排,字符串可能按abc排,和excel排序时一样的,即根据某一列来扩展至整个区域排序
sqlq.append("
DESC
")
;//这个事制定按降序还是升序,这里是降序
//后面的语句要看上下文,那个pb不知是什么
ListRow
list
=
null
;
pb.isRequireTotalRow(true);
String
sqlStr=sqlq.toString();
list
=
pb.getInfo(sqlStr,
null,
DtoMapGroupOptions.DATA_SOURCE_ID);//可能是把结果集放入list中,根据sqlStr中的sql语句
各位来看一下这段java连接数据库的代码
你这段程序错误太多了
1)
public class test() throws SQLException
test是类,不是方法,不要用(),不能抛出异常
改为
public class test
2)sql ="select name,password from operator;";
sql变量没有声明,改为
String sql ="select name,password from operator;";
3) main方法是静态方法,里面不能使用conn等非静态变量。
改为新定义一个方法,
然后再main中创建一个test对象,在调用该方法
4)因为除了SQLException,语句Class.forName(driver);还会抛出其它异常,所以在方法直接使用catch处理所有的异常。
修改后
import java.sql.*;
public class test
{
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
String driver ="com.microsoft.jdbc.sqlserver.SQLServerDriver";
String url ="jdbc:microsoft.sqlserver://localhost:1433;DatabaseName=Restaurant";
String user ="user";
String pwd ="user";
String sql ="select name,password from operator;";
public void doTest() {
try{
Class.forName(driver);
System.out.println("加载驱动成功!");
conn = DriverManager.getConnection(url,user,pwd);
System.out.println("连接数据库成功!");
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
while(rs.next())
{
System.out.println("------记录-------");
System.out.println("姓 名: "+rs.getString("name"));
System.out.println("密 码: "+rs.getString("password"));
}
}catch(Exception e){
e.printStackTrace();
}
}
public static void main(String [] args)
{
new test().doTest();
}
}
java链接MYSQL数据库并实现查找数据代码如何写?
首先创建一个连接工厂import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;public class ConnectionFactory {
private Connection conn=null;
private Statement stmt=null;
private ResultSet rs=null;
public ConnectionFactory() {
super();
// TODO Auto-generated constructor stub
} public void OpenConn() throws Exception{
try{
Class.forName("com.mysql.jdbc.Driver").newInstance();
String url="jdbc:mysql://127.0.0.1:3306/guestbook";
String user="root";
String password="root";
conn=DriverManager.getConnection(url,user,password);
}catch(Exception e){
System.out.println("创建链接抛出异常为:"+e.getMessage());
}
} public ResultSet executeQuery(String sql) throws Exception{
try{
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs=stmt.executeQuery(sql);
}catch(Exception e){
System.out.println("执行查询抛出的异常为:"+e.getMessage());
}
return rs;
} public void close() throws Exception{
try{
rs.close();
stmt.close();
conn.close();
}catch(Exception e){
System.out.println("关闭对象抛出的异常:"+e.getMessage());
}
} }
测试类 import java.sql.ResultSet;public class TestJDBC {
public static void main(String[] args) {
ConnectionFactory c= new ConnectionFactory();
try {
c.OpenConn();
String sql="select * from tb_guestbook";
ResultSet rs=c.executeQuery(sql);
while(rs.next()){
System.out.println(rs.getString(2));
}
c.close();
System.out.println();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
文章标题:java数据库测试代码,Java在线测试
本文路径:http://scpingwu.com/article/heosjh.html