这几个测试一直报错 build下面的原点什么意思?
来源:2-3 MyBatis二级缓存-2
慕盖茨8500022
2023-01-27 22:45:19
package com.imooc.mybatis.entity;
import javax.swing.plaf.metal.MetalIconFactory;
public class Goods {
private Integer goodsId;
private String title;
private String subTitle;
private Float originalCost;
private Float currentPrice;
private Float discount;
private Integer isFreeDelivery;
private Integer categoryId;
public Goods() {
}
public Integer getGoodsId() {
return goodsId;
}
public void setGoodsId(Integer goodsId) {
this.goodsId = goodsId;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getSubTitle() {
return subTitle;
}
public void setSubTitle(String subTitle) {
this.subTitle = subTitle;
}
public Float getOriginalCost() {
return originalCost;
}
public void setOriginalCost(Float originalCost) {
this.originalCost = originalCost;
}
public Float getCurrentPrice() {
return currentPrice;
}
public void setCurrentPrice(Float currentPrice) {
this.currentPrice = currentPrice;
}
public Float getDiscount() {
return discount;
}
public void setDiscount(Float discount) {
this.discount = discount;
}
public Integer getIsFreeDelivery() {
return isFreeDelivery;
}
public void setIsFreeDelivery(Integer isFreeDelivery) {
this.isFreeDelivery = isFreeDelivery;
}
public Integer getCategoryId() {
return categoryId;
}
public void setCategoryId(Integer categoryId) {
this.categoryId = categoryId;
}
@Override
public String toString() {
return "Goods{" +
"goodsId=" + goodsId +
", title='" + title + '\'' +
", subTitle='" + subTitle + '\'' +
", originalCost=" + originalCost +
", currentPrice=" + currentPrice +
", discount=" + discount +
", isFreeDelivery=" + isFreeDelivery +
", categoryId=" + categoryId +
'}';
}
}
package com.imooc.mybatis.utils;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import java.io.IOException;
import java.io.Reader;
public class MyBatisUtils {
private static SqlSessionFactory sqlSessionFactory = null;
static {
Reader resourceAsReader = null;
try {
resourceAsReader = Resources.getResourceAsReader("mybatis-config.xml");
sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsReader);
} catch (IOException e) {
e.printStackTrace();
throw new ExceptionInInitializerError(e);
}
}
public static SqlSession openSession(){
return sqlSessionFactory.openSession();
}
public static void closeSession(SqlSession session){
if(session != null){
session.close();
}
}
}
<?xml version="1.0" encoding="UTF-8" ?>
<!--MyBatis的DTD约束-->
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="goods">
<select id="selectAll" resultType="com.imooc.mybatis.entity.Goods">
select * from t_goods order by goods_id desc limit 10
</select>
<insert id="insert" parameterType="com.imooc.mybatis.entity.Goods">
INSERT INTO t_goods(title,sub_title,original_cost,current_price,discount,is_free_delivery,category_id)
VALUE (#{title},#{subTitle},#{originalCost},#{currentPrice},#{discount},#{isFreeDelivery},#{categoryId})
</insert>
<select id="selectPage" resultType="com.imooc.mybatis.entity.Goods">
select * from t_goods where current_price < 1000
</select>
</mapper>
<?xml version="1.0" encoding="UTF-8" ?>
<!--MyBatis的DTD约束-->
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<plugins>
<plugin interceptor="com.github.pagehelper.PageHelper">
<!-- 指定方言 -->
<property name="dialect" value="mysql"/>
<!--分页合理化-->
<property name="reasonable" value="true"/>
</plugin>
</plugins>
<!--environments配置数据库环境,环境可以有多个。default属性指定使用的是哪个-->
<environments default="mysql">
<!--environment配置数据库环境 id属性唯一标识-->
<environment id="mysql">
<!-- transactionManager事务管理。 type属性,采用JDBC默认的事务-->
<transactionManager type="jdbc"></transactionManager>
<!-- dataSource数据源信息 type属性 连接池-->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/imooc?useUnicode=true&characterEncoding=UTF-8"/>
<property name="username" value="root"/>
<property name="password" value="sxf20000325"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="../mappers/goods.xml"/>
</mappers>
</configuration>
package com.imooc.mybatis;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.imooc.mybatis.entity.Goods;
import com.imooc.mybatis.utils.MyBatisUtils;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;
import java.io.IOException;
import java.io.Reader;
import java.sql.Connection;
import java.util.List;
### 相关截图:
>
public class MyBatisTestor {
@Test
public void testsqlSessionFacorty() throws IOException {
//Resources.getRessourceAsReader("mybatis-config.xml");
Reader resourceAsReader = Resources.getResourceAsReader("mybatis-config.xml");
SqlSessionFactoryBuilder Builder = new SqlSessionFactoryBuilder();
SqlSessionFactory build = Builder.build(resourceAsReader);
System.out.println("加载成功!");
SqlSession sqlSession = null;
try{
sqlSession = build.openSession();
Connection connection = sqlSession.getConnection();
System.out.println(connection);
}catch (Exception e){
e.printStackTrace();
}finally {
if(sqlSession != null){
sqlSession.close();
}
}
//Connection connection = sqlSession.getConnection();
//System.out.println(connection);
}
@Test
public void testMyBatisUtils() throws Exception {
SqlSession sqlSession = null;
try{
sqlSession = MyBatisUtils.openSession();
Connection connection = sqlSession.getConnection();
System.out.println(connection);
}catch (Exception e){
throw e;
}finally {
MyBatisUtils.closeSession(sqlSession);
}
}
@Test
public void testSelectAll(){
SqlSession session = null;
try {
session = MyBatisUtils.openSession();
List<Goods> list = session.selectList("goods.selecrAll");
for (Goods goods : list) {
System.out.println(goods.getTitle());
}
}catch (Exception e){
e.printStackTrace();
}finally {
MyBatisUtils.closeSession(session);
}
}
@Test
public void testInsert() throws Exception {
SqlSession session = null;
try{
session = MyBatisUtils.openSession();
Goods goods = new Goods();
goods.setTitle("测试商品");
goods.setSubTitle("测试子标题");
goods.setOriginalCost(200f);
goods.setCurrentPrice(100f);
goods.setDiscount(0.5f);
goods.setIsFreeDelivery(1);
goods.setCategoryId(43);
int insert = session.insert("goods.insert", goods);
session.commit();//提交事物数据
System.out.println(goods.getGoodsId());
}catch (Exception e){
if(session != null){
session.rollback();//回滚
}
throw e;
}finally {
MyBatisUtils.closeSession(session);
}
}
@Test
public void testSelectPage() throws Exception {
SqlSession session = null;
try{
session = MyBatisUtils.openSession();
PageHelper.startPage(2,10);
Page<Goods> page = (Page) session.selectList("goods.selectPage");
System.out.println(page.getPages());
System.out.println(page.getTotal());
}catch (Exception e){
throw e;
}finally {
}
}
}
### 相关截图:
>package com.imooc.mybatis;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.imooc.mybatis.entity.Goods;
import com.imooc.mybatis.utils.MyBatisUtils;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;
import java.io.IOException;
import java.io.Reader;
import java.sql.Connection;
import java.util.List;
public class MyBatisTestor {
@Test
public void testsqlSessionFacorty() throws IOException {
//Resources.getRessourceAsReader("mybatis-config.xml");
Reader resourceAsReader = Resources.getResourceAsReader("mybatis-config.xml");
SqlSessionFactoryBuilder Builder = new SqlSessionFactoryBuilder();
SqlSessionFactory build = Builder.build(resourceAsReader);
System.out.println("加载成功!");
SqlSession sqlSession = null;
try{
sqlSession = build.openSession();
Connection connection = sqlSession.getConnection();
System.out.println(connection);
}catch (Exception e){
e.printStackTrace();
}finally {
if(sqlSession != null){
sqlSession.close();
}
}
//Connection connection = sqlSession.getConnection();
//System.out.println(connection);
}
@Test
public void testMyBatisUtils() throws Exception {
SqlSession sqlSession = null;
try{
sqlSession = MyBatisUtils.openSession();
Connection connection = sqlSession.getConnection();
System.out.println(connection);
}catch (Exception e){
throw e;
}finally {
MyBatisUtils.closeSession(sqlSession);
}
}
@Test
public void testSelectAll(){
SqlSession session = null;
try {
session = MyBatisUtils.openSession();
List<Goods> list = session.selectList("goods.selecrAll");
for (Goods goods : list) {
System.out.println(goods.getTitle());
}
}catch (Exception e){
e.printStackTrace();
}finally {
MyBatisUtils.closeSession(session);
}
}
@Test
public void testInsert() throws Exception {
SqlSession session = null;
try{
session = MyBatisUtils.openSession();
Goods goods = new Goods();
goods.setTitle("测试商品");
goods.setSubTitle("测试子标题");
goods.setOriginalCost(200f);
goods.setCurrentPrice(100f);
goods.setDiscount(0.5f);
goods.setIsFreeDelivery(1);
goods.setCategoryId(43);
int insert = session.insert("goods.insert", goods);
session.commit();//提交事物数据
System.out.println(goods.getGoodsId());
}catch (Exception e){
if(session != null){
session.rollback();//回滚
}
throw e;
}finally {
MyBatisUtils.closeSession(session);
}
}
@Test
public void testSelectPage() throws Exception {
SqlSession session = null;
try{
session = MyBatisUtils.openSession();
PageHelper.startPage(2,10);
Page<Goods> page = (Page) session.selectList("goods.selectPage");
System.out.println(page.getPages());
System.out.println(page.getTotal());
}catch (Exception e){
throw e;
}finally {
}
}
}
1回答
好帮手慕小小
2023-01-28
同学你好,build下出现小黄点则可能是说明代码运行到该位置时出现了错误,故在build下有小黄点。将代码修正后再运行则会消失。经过测试代码中存在的问题如下:
注:为了便于问题的快速准确定位与解答,建议提问时指出具体哪个测试方法报错,并将报错截图上传至问答区。
1. 建议将配置文件中的plugin编写修改为:
<plugins> <plugin interceptor="com.github.pagehelper.PageInterceptor"> <!-- 指定方言 --> <property name="helperDialect" value="mysql"/> <!--分页合理化--> <property name="reasonable" value="true"/> </plugin> </plugins>
2. 配置文件中的引入的mapper文件路径有误,建议修改为:
<mapper resource="mappers/goods.xml"/>
3. 测试方法testSelectAll中单词拼写有误,将goods.selecrAll修改为goods.selectAll后再重新测试运行。
List<Goods> list = session.selectList("goods.selectAll");祝学习愉快~
相似问题