【Mybatis】mybatis开启Log4j日志、增删改查操作

Mybatis日志(最常用的Log4j)

官方网站http://www.mybatis.org/mybatis-3/zh/logging.html
1.在src目录下创建一个log4j.properties文件
文件内容:

# Global logging configuration
log4j.rootLogger=ERROR, stdout
# MyBatis logging configuration...需要修改下面的一行
log4j.logger.org.mybatis.example.BlogMapper=TRACE
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

修改第四行:

log4j.logger.自己程序的包名=TRACE

例如log4j.logger.com.blb=TRACE

**Mybatis增删改查

dao层接口

public interface UserDao {
    /**
     * 查询所有用户
     * @return
     */
    List<User> getUsers();
    /**
     * 添加用户
     * @return
     */
    void addUser(User user);
    /**
     * 删除用户
     * @return
     */
    void delUserById(int id);

    void updateUserName(@Param("after") String after, @Param("id")int id);
}

映射配置文件

<?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="com.blb.dao.UserDao">
    <select id="getUsers" resultType="com.blb.bean.User">
    select * from userinfo
    </select>

    <insert id="addUser" >
        INSERT INTO userinfo VALUES(null ,#{username},#{userpwd},#{typeid},#{userstatus})
    </insert>

    <delete id="delUserById">
        DELETE FROM userinfo WHERE userid=#{id}
    </delete>

    <update id="updateUserName">
        UPDATE userinfo SET username=#{after} WHERE userid=#{id};
    </update>
</mapper>

使用注解的方式来映射

使用注解的方式,就不用在xml中写

<select id="getUsers" resultType="com.blb.bean.User">
    select * from userinfo
</select>

这样的语句了,非常方便,但是,复杂的SQL语句写在xml文件里方便维护!

使用注解,非常简单

public interface UserDao {
    /**
     * 查询所有用户
     * @return
     */
    @Select("select * from userinfo")
    List<User> getUsers();
    /**
     * 添加用户
     * @return
     */
    @Insert("INSERT INTO userinfo VALUES(null ,#{username},#{userpwd},#{typeid},#{userstatus})")
    void addUser(User user);
    /**
     * 删除用户
     * @return
     */
    @Delete("DELETE FROM userinfo WHERE userid=#{id}")
    void delUserById(int id);
	@Update("UPDATE userinfo SET username=#{after} WHERE userid=#{id};")
    void updateUserName(@Param("after") String after, @Param("id")int id);
}

答疑

@Update("UPDATE userinfo SET username=#{after} WHERE userid=#{id};")
void updateUserName(@Param("after") String after, @Param("id")int id);

写这种参数的时候要取别名@Param("别名"),不然获取不到参数报错

原文地址:https://www.cnblogs.com/BIG-BOSS-ZC/p/11807325.html