package com.yj.mapper;
import com.yj.model.Book;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Map;
@Repository
public interface BookMapper {
int deleteByPrimaryKey(Integer bid);
int insert(Book record);
int insertSelective(Book record);
Book selectByPrimaryKey(Integer bid);
int updateByPrimaryKeySelective(Book record);
int updateByPrimaryKey(Book record);
List
BookMapper.xml:
bid, bname, price
delete from t_mvc_book
where bid = #{bid,jdbcType=INTEGER}
insert into t_mvc_book (bid, bname, price
)
values (#{bid,jdbcType=INTEGER}, #{bname,jdbcType=VARCHAR}, #{price,jdbcType=REAL}
)
insert into t_mvc_book
bid,
bname,
price,
#{bid,jdbcType=INTEGER},
#{bname,jdbcType=VARCHAR},
#{price,jdbcType=REAL},
update t_mvc_book
bname = #{bname,jdbcType=VARCHAR},
price = #{price,jdbcType=REAL},
where bid = #{bid,jdbcType=INTEGER}
update t_mvc_book
set bname = #{bname,jdbcType=VARCHAR},
price = #{price,jdbcType=REAL}
where bid = #{bid,jdbcType=INTEGER}
实体类跳过。
service包
package com.yj.service;
import com.yj.model.Book;
import com.yj.util.PageBean;
import java.util.List;
import java.util.Map;
/**
* @author 仰望天空
* @site
* @company xxx公司
* @create 2019-09-24 19:41
*/
public interface BookService {
int deleteByPrimaryKey(Integer bid);
int insert(Book record);
int insertSelective(Book record);
Book selectByPrimaryKey(Integer bid);
int updateByPrimaryKeySelective(Book record);
int updateByPrimaryKey(Book record);
List
Impl包:
package com.yj.service.Impl;
import com.yj.mapper.BookMapper;
import com.yj.model.Book;
import com.yj.service.BookService;
import com.yj.util.PageBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
/**
* @author 仰望天空
* @site
* @company xxx公司
* @create 2019-09-24 19:43
*/
@Service
public class BookServiceImpl implements BookService {
@Autowired
private BookMapper bookMapper;
@Override
public int deleteByPrimaryKey(Integer bid) {
return bookMapper.deleteByPrimaryKey(bid);
}
@Override
public int insert(Book record) {
return bookMapper.insert(record);
}
@Override
public int insertSelective(Book record) {
return bookMapper.insertSelective(record);
}
@Override
public Book selectByPrimaryKey(Integer bid) {
return bookMapper.selectByPrimaryKey(bid);
}
@Override
public int updateByPrimaryKeySelective(Book record) {
return bookMapper.updateByPrimaryKeySelective(record);
}
@Override
public int updateByPrimaryKey(Book record) {
return bookMapper.updateByPrimaryKey(record);
}
@Override
public List aaaa(Map map, PageBean pageBean) {
return bookMapper.aaaa(map);
}
@Override
public List listPager(Map map, PageBean pageBean) {
return bookMapper.aaaa(map);
}
}
测试包:
SpringBaseTest:
package com.yj;
import com.yj.model.Book;
import com.yj.util.PageBean;
import org.junit.Before;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
/**
* @author 仰望天空
* @site
* @company xxx公司
* @create 2019-09-24 19:39
* 放一些公有代码
*/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath:applicationContext.xml"})
public class SpringBaseTest {
protected Book book;
protected PageBean pageBean;
@Before
public void init(){
book = new Book();
pageBean = new PageBean();
}
}
Impl包:
BookServiceImplTest
package com.yj.service.Impl;
import com.yj.SpringBaseTest;
import com.yj.model.Book;
import com.yj.service.BookService;
import com.yj.util.StringUtils;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author 仰望天空
* @site
* @company xxx公司
* @create 2019-09-24 20:17
*/
public class BookServiceImplTest extends SpringBaseTest {
@Autowired
private BookService bookService;
@Test
public void insert() {
book.setBid(10006);
book.setBname("aaa");
book.setPrice(100f);
this.bookService.insert(book);
}
@Test
public void selectByPrimaryKey() {
Book b = this.bookService.selectByPrimaryKey(10006);
System.out.println(b);
}
@Test
public void aaaa() {//不分页
Map map = new HashMap();
map.put("bname", StringUtils.toLikeStr("圣墟"));
List aaaa = this.bookService.aaaa(map, pageBean);
for (Map m : aaaa) {
System.out.println(m);
}
}
@Test
public void listPager() {//分页
Map map = new HashMap();
map.put("bname", StringUtils.toLikeStr("圣墟"));
pageBean.setPage(3);
List aaaa = this.bookService.listPager(map, pageBean);
for (Map m : aaaa) {
System.out.println(m);
}
}
}
在系统运行后,在线程快照里总是看到线程池的名字为pool-xx,这样导致很不好定位,怎么给线程池一个有意义的名字呢。参照ThreadPoolExecutor类的ThreadFactory,自己实现ThreadFactory接口,重写newThread方法即可。参考代码如下:
public class Named
错误: IE 中"HTML Parsing Error:Unable to modify the parent container element before the child element is closed"
现象: 同事之间几个IE 测试情况下,有的报这个错,有的不报。经查询资料后,可归纳以下原因。
PropertyPlaceholderConfigurer是个bean工厂后置处理器的实现,也就是BeanFactoryPostProcessor接口的一个实现。关于BeanFactoryPostProcessor和BeanPostProcessor类似。我会在其他地方介绍。PropertyPlaceholderConfigurer可以将上下文(配置文件)中的属性值放在另一个单独的标准java P
创建一个类
public class ContextInitListener implements ServletContextListener
使得该类成为一个监听器。用于监听整个容器生命周期的,主要是初始化和销毁的。
类创建后要在web.xml配置文件中增加一个简单的监听器配置,即刚才我们定义的类。
<listener>
<des
http://developer.apple.com/iphone/library/qa/qa2009/qa1649.html
Excerpt:
You are getting this warning because you probably added your Info.plist file to your Copy Bundle
hi,
自己在做工程的时候,遇到批量插入数据的数据修复场景。我的思路是在插入前准备一个临时表,临时表的整理就看当时的选择条件了,临时表就是要插入的数据集,最后再批量插入到数据库中。
WITH tempT AS (
SELECT
item_id AS combo_id,
item_id,
now() AS create_date
FROM
a