Mybatis第二次

xiaoxiao2021-02-28  79

增删改

  增删改都需要程序员通过session.commit提交事务

MyBatis中如何去集成log4有什么作用:可以 在控制台打印出SQL语句 ;

MyBatis中如何去集成log4j

   步骤1:在pom.xml中添加一个log4j依赖     <dependency>       <groupId>log4j</groupId>       <artifactId>log4j</artifactId>       <version>1.2.17</version>     </dependency>    步骤2:在Resource目录中添加一个名称为log4j.property文件

添加

添加的DAO代码:

public int addStudent(studentinfo stu); 小配置里的代码 <insert id="addStudent"> INSERT INTO studentinfo(stuName,stuAge,stuDate) VALUE (#{stuName},#{stuAge},#{stuDate}) </insert> 添加的单侧的代码 @Test //02.根据主键查询单个对象 public void add(){ String path="MyBatis-config.xml"; InputStream is= null; try { is = Resources.getResourceAsStream(path); SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(is); SqlSession session=factory.openSession(); IStudentInfoDAO dao = session.getMapper(IStudentInfoDAO.class); studentinfo stu=new studentinfo(); stu.setStuName("太阳"); stu.setStuAge(33); stu.setStuDate(new Date()); dao.addStudent(stu); session.commit(); System.out.println("ok!"); session.close(); } catch (IOException e) { e.printStackTrace(); } }修改的DAO代码://修改 public int updateStudent(studentinfo info); 小配置 里面的修改代码:<update id="updateStudent"> UPDATE studentinfo SET stuName=#{stuName} where stuId=#{stuId} </update>修改的单侧//修改 @Test public void xg() throws Exception { // SqlSession session=myBatis.getSqlSession(); IStudentInfoDAO dao=session.getMapper(IStudentInfoDAO.class); studentinfo stu=new studentinfo(); stu.setStuName("星星"); stu.setStuId(2); dao.updateStudent(stu); session.commit(); System.out.println("完美"); session.close(); }*/删除的DAO代码: //删除public int deleteStudent(int stuid);小配置 里面的删除代码:<delete id="deleteStudent"> DELETE from studentinfo where stuId=#{stuId} </delete>删除单侧//删除 /*@Test public void xc() throws Exception { // SqlSession session=myBatis.getSqlSession(); IStudentInfoDAO dao=session.getMapper(IStudentInfoDAO.class); dao.deleteStudent(3); session.commit(); System.out.println("ok"); session.close(); }*/.util:工具类层 public class MyBatisUtil {    //Mybatis    static String path="Mybatis-config.xml";    static SqlSessionFactory factory;    static{        try {            InputStream is = Resources.getResourceAsStream(path);        factory= new SqlSessionFactoryBuilder().build(is);        } catch (IOException e) {            e.printStackTrace();        }    }    public static SqlSession getSession(){        return factory.openSession();    }} 底层数据表中的列和实体类中的属性,只要有一个不匹配,MyBatis框架就不能自动的帮我们装配对象了。装配出来的是null

---------多条件查询---------------------------------- select * from studentinfo where stuname like '%' #{stuName}  '%' and stuAge>#{stuAge}

select * from studentinfo where stuname like concat('%',#{stuName},'%') and stuAge>#{stuAge}

select * from studentinfo where stuname like '%${stuName}%' and stuAge>#{stuAge}

-------SQL片段:主要解决多个列重复书写的问题 <sql id="columns">    stuid,stuname </sql>

转载请注明原文地址: https://www.6miu.com/read-76229.html

最新回复(0)