junit如何测试访问数据库的类

junit如何测试访问数据库的类,第1张

关于junit单元测试工具的安装请参看第二课的内容(其实就是导入一个junit的jar包就行了)

首先认识几个注解标签

@Test:测试方法

@Before:初始化方法

@After:释放资源

执行顺序:@Before->@Test->@After

第一步新建测试文件夹(目的就是用来存放测试类,使项目更整洁,分类明确,好管理)

选中项目右键new->Source Folder 输入文件夹的名称例如test

在测试文件夹下创建测试类(就是创建个普通的类)

如下在测试类中使用junit进行单元测试

下面只是先搭建一个测试框架

搭建好之后测试hibernate访问数据库的代码注意:导入的包不要弄错,都是hibernate的包

public class StudentTest { private SessionFactory sessionFactory private Session session private Transaction transaction @Before public void init(){ //创建配置对象 Configuration config = new Configuration() //创建服务注册对象 ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(config.getProperties()).buildServiceRegistry() //创建会话工厂对象 sessionFactory = config.buildSessionFactory(serviceRegistry) //会话对象 session = sessionFactory.openSession() //开启事务 transaction = session.beginTransaction() } @Test public void testSaveStudents(){ Student s = new Student(1, "小明", new Date(), "北京xxxx街道5号楼201") session.save(s)//保存对象到数据库 } @After public void destory(){ transaction.commit()//提交事务 session.close()//关闭会话 sessionFactory.close()//关闭会话工厂 }}

进行测试如下: 选中测试方法右键run as ->junit test就行了

执行成功控制台打印信息:

查看数据库表

可以看到增加了一条信息,测试成功

@Test

public void jdbcTest() throws ClassNotFoundException, SQLException{

//加载MySql的驱动类

Class.forName("com.mysql.jdbc.Driver") //环境变量中需要有mysql的驱动包

//简历链接

String url = "jdbc:mysql://localhost:3306/test"

String username = "root"

String password = "root"

Connection con = DriverManager.getConnection(url , username , password )

//创建stat 并执行查询,获得结果集resultSet

Statement stat = con.createStatement()

ResultSet resultSet = stat.executeQuery("select * from 你的表 ")

//遍历查询结果集

//1 获得元数据(就是字段名称)

ResultSetMetaData metad = resultSet.getMetaData()

int column = metad.getColumnCount()

System.out.println("查询结果为【"+column+"】列")

//System.out.println("查询结果为【"+metad.+"】条")

StringBuffer sb = new StringBuffer()

while(resultSet.next()){

for (int i = 0i <columni++) {

sb.append("字段:【"+metad.getColumnName(i)+"】,字段值【"+resultSet.getString(i)+"】\t")

}

sb.append("\n")

}

System.out.println(sb.toString())

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10831331.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存