mybatis学习(38):动态sql-foreach

目录结构

com.geyao.mybatis.mapperBlogMapper类package com.geyao.mybatis.mapper; import java.util.List; import java.util.Map; import org.apache.ibatis.annotations.Param; import com.geyao.mybatis.pojo.Blog; public interface BlogMapper { Blog selectBlog(Integer id); Blog selectBlog2(Integer id); List<Blog> selectBlogByTitle(String title); List<Blog> selectBlogByTitle2(String title); List<Blog> selectBlogBySort(String column); List<Blog> selectBlogByPage(int offset,int pagesize); List<Blog> selectBlogByPage1(@Param(value=”offset”)int offset,@Param(value=”pagesize”)int pagesize); List<Blog> selectBlogByPage2(Map<String, Object>map); int insertBlog(Blog blog); int insertBlogMysql(Blog blog); int updateBlog(Blog blog); int deleteBlogById(Integer id); List<Blog> selectActiveBlogByTitle(String title); List<Blog> selectActiveBlogByTitleOrStyle(Blog blog); List<Blog> selectBlogByCondition(Blog blog); } BlogMapper.xml<?xml version=”1.0″ encoding=”UTF-8″ ?> <!DOCTYPE mapper PUBLIC “-//mybatis.org//DTD Mapper 3.0//EN” “http://mybatis.org/dtd/mybatis-3-mapper.dtd”> <!– 为这个mapper指定一个唯一的namespace,namespace的值习惯上设置成包名+sql映射文件名,这样就能够保证namespace的值是唯一的 例如namespace=”me.gacl.mapping.userMapper”就是me.gacl.mapping(包名)+userMapper(userMapper.xml文件去除后缀) –> <mapper namespace=”com.geyao.mybatis.mapper.BlogMapper”> <!– 在select标签中编写查询的SQL语句, 设置select标签的id属性为getUser,id属性值必须是唯一的,不能够重复 使用parameterType属性指明查询时使用的参数类型,resultType属性指明查询返回的结果集类型 resultType=”me.gacl.domain.User”就表示将查询结果封装成一个User类的对象返回 User类就是users表所对应的实体类 –> <!– 根据id查询得到一个user对象 –> <resultMap type=”Blog” id=”blogResultMap”> <id column=”id” property=”id” jdbcType=”INTEGER”></id> <result column=”authod_id” property=”authodId” jdbcType=”INTEGER”/> </resultMap> <!– crud –> <select id=”selectBlog” parameterType=”int” resultType=”Blog”> select id, title, authod_id as authodId, state, featured, style from Blog where id=#{id} </select> <select id=”selectBlog2″ parameterType=”int” resultMap=”blogResultMap”> select * from Blog where id=#{id} </select> <select id=”selectBlogByTitle” parameterType=”String” resultMap=”blogResultMap”> select * from Blog where title like #{title} </select> <select id=”selectBlogByTitle2″ parameterType=”String” resultMap=”blogResultMap”> select * from Blog where title like ‘${value}’ </select> <select id=”selectBlogBySort” parameterType=”String” resultMap=”blogResultMap”> select * from Blog order by ${value} </select> <select id=”selectBlogByPage” resultMap=”blogResultMap”> select * from Blog limit #{0},#{1} </select> <select id=”selectBlogByPage1″ resultMap=”blogResultMap”> select * from Blog limit #{offset},#{pagesize} </select> <select id=”selectBlogByPage2″ resultMap=”blogResultMap”> select * from Blog limit #{offset},#{pagesize} </select> <insert id=”insertBlog” parameterType=”Blog” useGeneratedKeys=”true” keyProperty=”id”> INSERT INTO Blog( title, authod_id, state, featured, style ) VALUES( #{title}, #{authodId}, #{state}, #{featured}, #{style} ) </insert> <insert id=”insertBlogOracle” parameterType=”Blog” > <selectKey resultType=”java.lang.Integer” order=”BEFORE” keyProperty=”id”> select seq.nextval as id from dual </selectKey> INSERT INTO Blog( title, authod_id, state, featured, style ) VALUES( #{title}, #{authodId}, #{state}, #{featured}, #{style} ) </insert> <insert id=”insertBlogMysql” parameterType=”Blog” > <selectKey resultType=”java.lang.Integer” order=”AFTER” keyProperty=”id”> SELECT LAST_INSERT_ID() </selectKey> INSERT INTO Blog( title, authod_id, state, featured, style ) VALUES( #{title}, #{authodId}, #{state}, #{featured}, #{style} ) </insert> <update id=”updateBlog” parameterType=”Blog” > UPDATE Blog SET title = #{title}, authod_id = #{authodId}, state = #{state}, featured = #{featured}, style= #{ style} WHERE id = #{id} </update> <delete id=”deleteBlogById” parameterType=”int”> delete from blog where id =#{id} </delete> <!– 动态sql –> <select id=”selectActiveBlogByTitle” parameterType=”String” resultMap=”blogResultMap”> SELECT * FROM blog where state =’ACTIVE’ <if test=”value!=null and value !=””> AND title LIKE ‘%o%’ </if> </select> <select id=”selectActiveBlogByTitleOrStyle” parameterType=”Blog” resultMap=”blogResultMap”> SELECT * FROM blog where state =’ACTIVE’ <choose> <when test=”title !=null and title !=””> and lower(title) like lower(#{title}) </when> <when test=”style !=null and style!=””> </when> <otherwise> and featured=true; </otherwise> </choose> </select> <select id=”selectBlogByCondition” parameterType=”Blog” resultMap=”blogResultMap”> select * from blog <where> <if test=”state !=null and state !=””> state=#{state} </if> <if test=”title !=null and title !=””> and lower(title) like lower(#{title}) </if> <if test=” featured !=null”> and featured = #{featured} </if> </where> </select> </mapper> com.geyao.mybatis.pojoBlog类package com.geyao.mybatis.pojo; public class Blog { private Integer id; private String title; private int authodId; private String state; private Boolean featured; private String style; public Blog() { super(); this.title=”未命名”; this.authodId=4; this.state=”NOT”; this.featured=false; this.style=”red”; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public int getAuthodId() { return authodId; } public void setAuthodId(int authodId) { this.authodId = authodId; } public String getState() { return state; } public void setState(String state) { this.state = state; } public Boolean getFeatured() { return featured; } public void setFeatured(Boolean featured) { this.featured = featured; } public String getStyle() { return style; } public void setStyle(String style) { this.style = style; } @Override public String toString() { return “Blog [id=” + id + “, title=” + title + “, authodId=” + authodId + “, state=” + state + “, featured=” + featured + “, style=” + style + “]\n”; } } com.geyao.mybatis.utilMybatisUtil类package com.geyao.mybatis.util; import java.io.InputStream; import java.io.Reader; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; public class MyBatisUtil { private static SqlSessionFactory sqlSessionFactory =null; static { try { InputStream in = Resources.getResourceAsStream(“mybatis-config.xml”); sqlSessionFactory = new SqlSessionFactoryBuilder().build(in); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } private MyBatisUtil() {} public static SqlSession getSqlSession() { return sqlSessionFactory.openSession(); } } log4j.properties### \u914D\u7F6E\u6839 ### log4j.rootLogger = debug,console ,fileAppender,dailyRollingFile,ROLLING_FILE,MAIL,DATABASE ### \u8BBE\u7F6E\u8F93\u51FAsql\u7684\u7EA7\u522B\uFF0C\u5176\u4E2Dlogger\u540E\u9762\u7684\u5185\u5BB9\u5168\u90E8\u4E3Ajar\u5305\u4E2D\u6240\u5305\u542B\u7684\u5305\u540D ### log4j.logger.org.apache=dubug log4j.logger.java.sql.Connection=dubug log4j.logger.java.sql.Statement=dubug log4j.logger.java.sql.PreparedStatement=dubug log4j.logger.java.sql.ResultSet=dubug ### \u914D\u7F6E\u8F93\u51FA\u5230\u63A7\u5236\u53F0 ### log4j.appender.console = org.apache.log4j.ConsoleAppender log4j.appender.console.Target = System.out log4j.appender.console.layout = org.apache.log4j.PatternLayout log4j.appender.console.layout.ConversionPattern = %d{ABSOLUTE} %5p %c{1}:%L – %m%n mybatis-config.xml<?xml version=”1.0″ encoding=”UTF-8″?> <!DOCTYPE configuration PUBLIC “-//mybatis.org//DTD Config 3.0//EN” “http://mybatis.org/dtd/mybatis-3-config.dtd”> <configuration> <typeAliases> <typeAlias type=”com.geyao.mybatis.pojo.Blog” alias=”Blog”/> </typeAliases> <environments default=”development”> <environment id=”development”> <transactionManager type=”JDBC” /> <!– 配置数据库连接信息 –> <dataSource type=”POOLED”> <property name=”driver” value=”com.mysql.cj.jdbc.Driver” /> <property name=”url” value=”jdbc:mysql://localhost:3306/mybatis?serverTimezone=GMT%2B8″ /> <property name=”username” value=”root” /> <property name=”password” value=”123″ /> </dataSource> </environment> </environments> <mappers> <!– 注册userMapper.xml文件, userMapper.xml位于me.gacl.mapping这个包下,所以resource写成me/gacl/mapping/userMapper.xml–> <mapper resource=”com/geyao/mybatis/mapper/BlogMapper.xml”/> </mappers> </configuration> 单元测试com.geyao.mybatis.utiltestSelectBlog类package com.geyao.mybatis.mapper; import java.util.HashMap; import java.util.List; import java.util.Map; import org.apache.ibatis.session.SqlSession; import org.junit.Test; import com.geyao.mybatis.pojo.Blog; import com.geyao.mybatis.util.MyBatisUtil; public class testSelectBlog { @Test public void testSelectBlogNoInterface() { SqlSession session =MyBatisUtil.getSqlSession(); Blog blog =(Blog)session.selectOne(“com.geyao.mybatis.mapper.BlogMapper.selectBlog”, 101); session.close(); System.out.println(blog); } @Test public void testSelectBlog() { SqlSession session =MyBatisUtil.getSqlSession(); BlogMapper blogMapper =session.getMapper(BlogMapper.class); Blog blog = blogMapper.selectBlog(1); System.out.println(blog); } @Test public void testSelectBlog2() { SqlSession session =MyBatisUtil.getSqlSession(); BlogMapper blogMapper =session.getMapper(BlogMapper.class); Blog blog = blogMapper.selectBlog2(1); System.out.println(blog); } @Test public void testselectBlogByTitle() { SqlSession session =MyBatisUtil.getSqlSession(); BlogMapper blogMapper =session.getMapper(BlogMapper.class); List<Blog> blogList = blogMapper.selectBlogByTitle(“%g%”); System.out.println(blogList); } @Test public void testselectBlogByTitle2() { SqlSession session =MyBatisUtil.getSqlSession(); BlogMapper blogMapper =session.getMapper(BlogMapper.class); List<Blog> blogList = blogMapper.selectBlogByTitle2(“%g%”); System.out.println(blogList); } @Test public void testselectBlogBySort() { SqlSession session =MyBatisUtil.getSqlSession(); BlogMapper blogMapper =session.getMapper(BlogMapper.class); List<Blog> blogList = blogMapper.selectBlogBySort(“title”); System.out.println(blogList); } @Test public void testselectBlogByPage() { SqlSession session =MyBatisUtil.getSqlSession(); BlogMapper blogMapper =session.getMapper(BlogMapper.class); List<Blog> blogList = blogMapper.selectBlogByPage(2,2); System.out.println(blogList); } @Test public void testselectBlogByPage1() { SqlSession session =MyBatisUtil.getSqlSession(); BlogMapper blogMapper =session.getMapper(BlogMapper.class); List<Blog> blogList = blogMapper.selectBlogByPage1(2,2); System.out.println(blogList); } @Test public void testselectBlogByPage2() { SqlSession session =MyBatisUtil.getSqlSession(); BlogMapper blogMapper =session.getMapper(BlogMapper.class); Map<String, Object> map =new HashMap<String, Object>(); map.put(“offset”, 2); map.put(“pagesize”, 2); List<Blog> blogList = blogMapper.selectBlogByPage2(map); System.out.println(blogList); } @Test public void testInsertBlog() { SqlSession session =MyBatisUtil.getSqlSession(); BlogMapper blogMapper =session.getMapper(BlogMapper.class); Blog blog=new Blog(); int count= blogMapper.insertBlog(blog); session.commit(); session.close(); System.out.println(blog); System.out.println(“插入的”+count+”记录”); } @Test public void testinsertBlogMysql() { SqlSession session =MyBatisUtil.getSqlSession(); BlogMapper blogMapper =session.getMapper(BlogMapper.class); Blog blog=new Blog(); int count= blogMapper.insertBlogMysql(blog); session.commit(); session.close(); System.out.println(blog); System.out.println(“插入的”+count+”记录”); } @Test public void testupdateBlog() { SqlSession session =MyBatisUtil.getSqlSession(); BlogMapper blogMapper =session.getMapper(BlogMapper.class); Blog blog=new Blog(); blog.setId(1); blog.setTitle(“geyao”); blog.setStyle(“balck”); blog.setState(“active”); blog.setFeatured(false); blog.setAuthodId(2); int count= blogMapper.updateBlog(blog); session.commit(); session.close(); System.out.println(blog); System.out.println(“修改”+count+”记录”); } }

jar包

链接:https://pan.baidu.com/s/1g6NgzfLc5uK9S4VL-03lHg 提取码:4r2m

运行结果

目录结构

com.geyao.mybatis.mapperBlogMapper类package com.geyao.mybatis.mapper; import java.util.List; import java.util.Map; import org.apache.ibatis.annotations.Param; import com.geyao.mybatis.pojo.Blog; public interface BlogMapper { Blog selectBlog(Integer id); Blog selectBlog2(Integer id); List<Blog> selectBlogByTitle(String title); List<Blog> selectBlogByTitle2(String title); List<Blog> selectBlogBySort(String column); List<Blog> selectBlogByPage(int offset,int pagesize); List<Blog> selectBlogByPage1(@Param(value=”offset”)int offset,@Param(value=”pagesize”)int pagesize); List<Blog> selectBlogByPage2(Map<String, Object>map); int insertBlog(Blog blog); int insertBlogMysql(Blog blog); int updateBlog(Blog blog); } BlogMapper.xml<?xml version=”1.0″ encoding=”UTF-8″ ?> <!DOCTYPE mapper PUBLIC “-//mybatis.org//DTD Mapper 3.0//EN” “http://mybatis.org/dtd/mybatis-3-mapper.dtd”> <!– 为这个mapper指定一个唯一的namespace,namespace的值习惯上设置成包名+sql映射文件名,这样就能够保证namespace的值是唯一的 例如namespace=”me.gacl.mapping.userMapper”就是me.gacl.mapping(包名)+userMapper(userMapper.xml文件去除后缀) –> <mapper namespace=”com.geyao.mybatis.mapper.BlogMapper”> <!– 在select标签中编写查询的SQL语句, 设置select标签的id属性为getUser,id属性值必须是唯一的,不能够重复 使用parameterType属性指明查询时使用的参数类型,resultType属性指明查询返回的结果集类型 resultType=”me.gacl.domain.User”就表示将查询结果封装成一个User类的对象返回 User类就是users表所对应的实体类 –> <!– 根据id查询得到一个user对象 –> <resultMap type=”Blog” id=”blogResultMap”> <id column=”id” property=”id” jdbcType=”INTEGER”></id> <result column=”authod_id” property=”authodId” jdbcType=”INTEGER”/> </resultMap> <select id=”selectBlog” parameterType=”int” resultType=”Blog”> select id, title, authod_id as authodId, state, featured, style from Blog where id=#{id} </select> <select id=”selectBlog2″ parameterType=”int” resultMap=”blogResultMap”> select * from Blog where id=#{id} </select> <select id=”selectBlogByTitle” parameterType=”String” resultMap=”blogResultMap”> select * from Blog where title like #{title} </select> <select id=”selectBlogByTitle2″ parameterType=”String” resultMap=”blogResultMap”> select * from Blog where title like ‘${value}’ </select> <select id=”selectBlogBySort” parameterType=”String” resultMap=”blogResultMap”> select * from Blog order by ${value} </select> <select id=”selectBlogByPage” resultMap=”blogResultMap”> select * from Blog limit #{0},#{1} </select> <select id=”selectBlogByPage1″ resultMap=”blogResultMap”> select * from Blog limit #{offset},#{pagesize} </select> <select id=”selectBlogByPage2″ resultMap=”blogResultMap”> select * from Blog limit #{offset},#{pagesize} </select> <insert id=”insertBlog” parameterType=”Blog” useGeneratedKeys=”true” keyProperty=”id”> INSERT INTO Blog( title, authod_id, state, featured, style ) VALUES( #{title}, #{authodId}, #{state}, #{featured}, #{style} ) </insert> <insert id=”insertBlogOracle” parameterType=”Blog” > <selectKey resultType=”java.lang.Integer” order=”BEFORE” keyProperty=”id”> select seq.nextval as id from dual </selectKey> INSERT INTO Blog( title, authod_id, state, featured, style ) VALUES( #{title}, #{authodId}, #{state}, #{featured}, #{style} ) </insert> <insert id=”insertBlogMysql” parameterType=”Blog” > <selectKey resultType=”java.lang.Integer” order=”AFTER” keyProperty=”id”> SELECT LAST_INSERT_ID() </selectKey> INSERT INTO Blog( title, authod_id, state, featured, style ) VALUES( #{title}, #{authodId}, #{state}, #{featured}, #{style} ) </insert> <update id=”updateBlog” parameterType=”Blog” > UPDATE Blog SET title = #{title}, authod_id = #{authodId}, state = #{state}, featured = #{featured}, style= #{ style} WHERE id = #{id} </update> </mapper> com.geyao.mybatis.pojoBlog类package com.geyao.mybatis.pojo; public class Blog { private Integer id; private String title; private int authodId; private String state; private Boolean featured; private String style; public Blog() { super(); this.title=”未命名”; this.authodId=4; this.state=”NOT”; this.featured=false; this.style=”red”; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public int getAuthodId() { return authodId; } public void setAuthodId(int authodId) { this.authodId = authodId; } public String getState() { return state; } public void setState(String state) { this.state = state; } public Boolean getFeatured() { return featured; } public void setFeatured(Boolean featured) { this.featured = featured; } public String getStyle() { return style; } public void setStyle(String style) { this.style = style; } @Override public String toString() { return “Blog [id=” + id + “, title=” + title + “, authodId=” + authodId + “, state=” + state + “, featured=” + featured + “, style=” + style + “]\n”; } } com.geyao.mybatis.utilMybatisUtil类package com.geyao.mybatis.util; import java.io.InputStream; import java.io.Reader; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; public class MyBatisUtil { private static SqlSessionFactory sqlSessionFactory =null; static { try { InputStream in = Resources.getResourceAsStream(“mybatis-config.xml”); sqlSessionFactory = new SqlSessionFactoryBuilder().build(in); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } private MyBatisUtil() {} public static SqlSession getSqlSession() { return sqlSessionFactory.openSession(); } } log4j.properties### \u914D\u7F6E\u6839 ### log4j.rootLogger = debug,console ,fileAppender,dailyRollingFile,ROLLING_FILE,MAIL,DATABASE ### \u8BBE\u7F6E\u8F93\u51FAsql\u7684\u7EA7\u522B\uFF0C\u5176\u4E2Dlogger\u540E\u9762\u7684\u5185\u5BB9\u5168\u90E8\u4E3Ajar\u5305\u4E2D\u6240\u5305\u542B\u7684\u5305\u540D ### log4j.logger.org.apache=dubug log4j.logger.java.sql.Connection=dubug log4j.logger.java.sql.Statement=dubug log4j.logger.java.sql.PreparedStatement=dubug log4j.logger.java.sql.ResultSet=dubug ### \u914D\u7F6E\u8F93\u51FA\u5230\u63A7\u5236\u53F0 ### log4j.appender.console = org.apache.log4j.ConsoleAppender log4j.appender.console.Target = System.out log4j.appender.console.layout = org.apache.log4j.PatternLayout log4j.appender.console.layout.ConversionPattern = %d{ABSOLUTE} %5p %c{1}:%L – %m%n mybatis-config.xml<?xml version=”1.0″ encoding=”UTF-8″?> <!DOCTYPE configuration PUBLIC “-//mybatis.org//DTD Config 3.0//EN” “http://mybatis.org/dtd/mybatis-3-config.dtd”> <configuration> <typeAliases> <typeAlias type=”com.geyao.mybatis.pojo.Blog” alias=”Blog”/> </typeAliases> <environments default=”development”> <environment id=”development”> <transactionManager type=”JDBC” /> <!– 配置数据库连接信息 –> <dataSource type=”POOLED”> <property name=”driver” value=”com.mysql.cj.jdbc.Driver” /> <property name=”url” value=”jdbc:mysql://localhost:3306/mybatis?serverTimezone=GMT%2B8″ /> <property name=”username” value=”root” /> <property name=”password” value=”123″ /> </dataSource> </environment> </environments> <mappers> <!– 注册userMapper.xml文件, userMapper.xml位于me.gacl.mapping这个包下,所以resource写成me/gacl/mapping/userMapper.xml–> <mapper resource=”com/geyao/mybatis/mapper/BlogMapper.xml”/> </mappers> </configuration> 单元测试com.geyao.mybatis.utiltestSelectBlog类package com.geyao.mybatis.mapper; import java.util.HashMap; import java.util.List; import java.util.Map; import org.apache.ibatis.session.SqlSession; import org.junit.Test; import com.geyao.mybatis.pojo.Blog; import com.geyao.mybatis.util.MyBatisUtil; public class testSelectBlog { @Test public void testSelectBlogNoInterface() { SqlSession session =MyBatisUtil.getSqlSession(); Blog blog =(Blog)session.selectOne(“com.geyao.mybatis.mapper.BlogMapper.selectBlog”, 101); session.close(); System.out.println(blog); } @Test public void testSelectBlog() { SqlSession session =MyBatisUtil.getSqlSession(); BlogMapper blogMapper =session.getMapper(BlogMapper.class); Blog blog = blogMapper.selectBlog(1); System.out.println(blog); } @Test public void testSelectBlog2() { SqlSession session =MyBatisUtil.getSqlSession(); BlogMapper blogMapper =session.getMapper(BlogMapper.class); Blog blog = blogMapper.selectBlog2(1); System.out.println(blog); } @Test public void testselectBlogByTitle() { SqlSession session =MyBatisUtil.getSqlSession(); BlogMapper blogMapper =session.getMapper(BlogMapper.class); List<Blog> blogList = blogMapper.selectBlogByTitle(“%g%”); System.out.println(blogList); } @Test public void testselectBlogByTitle2() { SqlSession session =MyBatisUtil.getSqlSession(); BlogMapper blogMapper =session.getMapper(BlogMapper.class); List<Blog> blogList = blogMapper.selectBlogByTitle2(“%g%”); System.out.println(blogList); } @Test public void testselectBlogBySort() { SqlSession session =MyBatisUtil.getSqlSession(); BlogMapper blogMapper =session.getMapper(BlogMapper.class); List<Blog> blogList = blogMapper.selectBlogBySort(“title”); System.out.println(blogList); } @Test public void testselectBlogByPage() { SqlSession session =MyBatisUtil.getSqlSession(); BlogMapper blogMapper =session.getMapper(BlogMapper.class); List<Blog> blogList = blogMapper.selectBlogByPage(2,2); System.out.println(blogList); } @Test public void testselectBlogByPage1() { SqlSession session =MyBatisUtil.getSqlSession(); BlogMapper blogMapper =session.getMapper(BlogMapper.class); List<Blog> blogList = blogMapper.selectBlogByPage1(2,2); System.out.println(blogList); } @Test public void testselectBlogByPage2() { SqlSession session =MyBatisUtil.getSqlSession(); BlogMapper blogMapper =session.getMapper(BlogMapper.class); Map<String, Object> map =new HashMap<String, Object>(); map.put(“offset”, 2); map.put(“pagesize”, 2); List<Blog> blogList = blogMapper.selectBlogByPage2(map); System.out.println(blogList); } @Test public void testInsertBlog() { SqlSession session =MyBatisUtil.getSqlSession(); BlogMapper blogMapper =session.getMapper(BlogMapper.class); Blog blog=new Blog(); int count= blogMapper.insertBlog(blog); session.commit(); session.close(); System.out.println(blog); System.out.println(“插入的”+count+”记录”); } @Test public void testinsertBlogMysql() { SqlSession session =MyBatisUtil.getSqlSession(); BlogMapper blogMapper =session.getMapper(BlogMapper.class); Blog blog=new Blog(); int count= blogMapper.insertBlogMysql(blog); session.commit(); session.close(); System.out.println(blog); System.out.println(“插入的”+count+”记录”); } @Test public void testupdateBlog() { SqlSession session =MyBatisUtil.getSqlSession(); BlogMapper blogMapper =session.getMapper(BlogMapper.class); Blog blog = blogMapper.selectBlog(1); //Blog blog=new Blog(); blog.setId(1); blog.setTitle(“geyao”); blog.setAuthodId(3); //blog.setStyle(“balck”); //blog.setState(“active”); //blog.setFeatured(false); //blog.setAuthodId(2); int count= blogMapper.updateBlog(blog); session.commit(); session.close(); System.out.println(blog); System.out.println(“修改”+count+”记录”); } @Test public void testdeleteBlogById() { SqlSession session =MyBatisUtil.getSqlSession(); BlogMapper blogMapper =session.getMapper(BlogMapper.class); int count= blogMapper.deleteBlogById(3); session.commit(); session.close(); System.out.println(“删除的”+count+”记录”); } @Test public void testselectActiveBlogByTitle() { SqlSession session =MyBatisUtil.getSqlSession(); BlogMapper blogMapper =session.getMapper(BlogMapper.class); List<Blog> blogList=blogMapper.selectActiveBlogByTitle(“o”); session.close(); System.out.println(blogList); } @Test public void testselectActiveBlogByTitleOrStyle() { SqlSession session =MyBatisUtil.getSqlSession(); BlogMapper blogMapper =session.getMapper(BlogMapper.class); Blog blog = new Blog(); blog.setTitle(“%o%”); blog.setStyle(“black”); List<Blog> blogList=blogMapper.selectActiveBlogByTitleOrStyle(blog); session.close(); System.out.println(blogList); } @Test public void testselectBlogByCondition() { SqlSession session =MyBatisUtil.getSqlSession(); BlogMapper blogMapper =session.getMapper(BlogMapper.class); Blog blog = new Blog(); blog.setTitle(“%o%”); List<Blog> blogList=blogMapper.selectBlogByCondition(blog); session.close(); System.out.println(blogList); } }

jar包

链接:https://pan.baidu.com/s/1g6NgzfLc5uK9S4VL-03lHg 提取码:4r2m

运行结果

与那些新人和旧人们共同经历吧!

mybatis学习(38):动态sql-foreach

相关文章:

你感兴趣的文章:

标签云: