@RunWith(SpringJUnit4ClassRunner.class)
//调用junit调试的方法
@ContextConfiguration(value = "classpath:applicationContext.xml")
//导入配置文件,进行定位
在测试时填写,用于测试配置文件是否正确和方法是否有错
serviceImpl 填写
@Transactional
//注解的声明式事务
//保证多个操作在同一个事务中,比如存钱和取钱,保证两个方法都执行完,如果出现了异常数据就会回滚到初始值。
@Service
//通过注解表明这是service层,但我使用它的接口建立实体类时,扫描器会自动找到他,即代替了new实体类的功能
//告诉spring框架,交给他管理,即但我使用
@Resource
//通过注解new出对象,通过类型查找,根据该接口找到bookInfoServiceimpl实体类
private BookInfoService bookInfoService;
这是spring框架IOC的基本原理
对pojo实体类进行修改
通过插件导入的基础类型
列名 属性名
<result column="is_borrow" property="isBorrow" jdbcType="INTEGER"/>
如果需要添加的是除了基本类型意外的属性,那么需要手动添加
<!-- 对实体类的应用使用该标签,property为属性名,javatype为实体类型,并且要将实体类型的属性与表中的列名对应-->
<association property="bookType" javaType="com.vp.pojo.BookType">
<id property="bookType" column="book_type"></id>
<result property="typeName" column="type_name"></result>
</association>
集合是collection标签
BookInfoMapper,即dao,在多个参数是要使用@Param和xml文件进行关联。xml才能进行获取多个属性
List<BookInfo> queryBook(@Param("bookTypeid") Integer bookTypeid, @Param("bookname") String bookname, @Param("borrow") Integer borrow);
xml文件中
<if test="bookTypeid != 0">test属性的属性不用加#{}
and book_type.book_type=#{bookTypeid}
</if>
foreach标签模板
集合 对应 in(?,?,?); 当前子元素
<foreach collection="list" open="(" separator="," close=")" item="code">
#{code}
</foreach>
链式编程
新功能开发
service 方法编写
serviceImpl调用对应Mapper的实体类的方法进行调用
BookInfoMapper添加新的方法
xml添加对应代码标签