本文共 3230 字,大约阅读时间需要 10 分钟。
ifchoose (when, otherwise)trim (where, set)foreach
CREATE TABLE `blog` ( `id` int NOT NULL COMMENT '博客id', `title` varchar(45) NOT NULL COMMENT '博客标题', `author` varchar(45) NOT NULL COMMENT '博客作者', `create_time` datetime NOT NULL COMMENT '创建时间', `views` int NOT NULL COMMENT '浏览量', PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8
驼峰命名转换(Setting)
void addBlog(Blog blog);
public class Blog { private int id; private String title; private String author; private Date createtime; private int views;}
insert into blog values (#{id},#{title},#{author},#{createtime},#{views})
@Testpublic void addBlog(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); BlogMapper mapper = sqlSession.getMapper(BlogMapper.class); Blog blog=new Blog(); blog.setId(1); blog.setTitle("Mybatis好难!!!"); blog.setAuthor("厉害得很"); blog.setCreatetime(new Date()); blog.setViews(99999); mapper.addBlog(blog); blog.setId(2); blog.setTitle("Spring好难!!!"); blog.setAuthor("厉害得很"); blog.setCreatetime(new Date()); blog.setViews(99999); mapper.addBlog(blog); blog.setId(3); blog.setTitle("SpringMVC好难!!!"); blog.setAuthor("厉害得很"); blog.setCreatetime(new Date()); blog.setViews(99999); mapper.addBlog(blog); sqlSession.close();}
如果不写1=1,将会 where与and直接拼接起来,出错
用于选择,只执行一个成功的,看map.put(); 的要求
select * from mybatis.blogtitle = #{title} and author = #{author}
用于,如果第一个执行失败,直接执行第二个会出现where and 情况 这时 where会直接忽略and
update mybatis.blog where id = #{id} title = #{title}, author = #{author}
SQL修改语句时会出现“,”,在java里会出错,set会自动忽略“,”
Listforreach(Map map);
@Testpublic void forreach(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); BlogMapper mapper = sqlSession.getMapper(BlogMapper.class); HashMap hashMap = new HashMap(); ArrayListids = new ArrayList (); ids.add(1); ids.add(2); hashMap.put("ids",ids); List blogs = mapper.forreach(hashMap); for (Blog blog:blogs){ System.out.println(blog); } sqlSession.close();}
转载地址:http://rzazi.baihongyu.com/