Mybatis常用配置+注解实现

引入外部配置文件

db.properties

driver = com.mysql.jdbc.Driver
url = jdbc:mysql://localhost:3306/mybatis?useSSL=false&useUnicode=true&characterEncoding=UTF-8
username = xiaofan
password = 123456
    <properties resource="db.properties"/>

    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="${driver}"/>
                <property name="url" value="${url}"/>
                <property name="username" value="${username}"/>
                <property name="password" value="${password}"/>
            </dataSource>
        </environment>
    </environments>

日志

第一种就是标准的日志工厂

    <settings>
        <setting name="logImpl" value="STDOUT_LOGGING"/>
    </settings>

第二种log4j需要先导入log4j配置文件

        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>
  log4j.rootLogger=DEBUG,console,file


  log4j.appender.console = org.apache.log4j.ConsoleAppender
  log4j.appender.console.Target = System.out
  log4j.appender.console.Threshold=DEBUG
  log4j.appender.console.layout = org.apache.log4j.PatternLayout
  log4j.appender.console.layout.ConversionPattern=[%c]-%m%n


  log4j.appender.file = org.apache.log4j.RollingFileAppender
  log4j.appender.file.File=./log/xiaofan.log
  log4j.appender.file.MaxFileSize=10mb
  log4j.appender.file.Threshold=DEBUG
  log4j.appender.file.layout=org.apache.log4j.PatternLayout
  log4j.appender.file.layout.ConversionPattern=[%p][%d{yy-MM-dd}][%c]%m%n


  log4j.logger.org.mybatis=DEBUG
  log4j.logger.java.sql=DEBUG
  log4j.logger.java.sql.Statement=DEBUG
  log4j.logger.java.sql.ResultSet=DEBUG
  log4j.logger.java.sql.PreparedStatement=DEBUG

    <settings>
        <setting name="logImpl" value="LOG4J"/>
    </settings>

别名设置

可以对一个实体类起别名

    <typeAliases>
        <typeAlias type="com.xiaofan.pojo.User" alias="User"/>
    </typeAliases>

也可以对一个包下的所有实体类起别名,但别名有规定,为该实体类的类名小写,例如,com.fan.pojo.User的别名为user

    <typeAliases>
        <package name="com.fan.pojo"/>
    </typeAliases>

注解实现CRUD

UserMapper

public interface UserMapper {

    @Select("select * from user")
    List<User> getUsers();

//    方法存在多个参数,所有参数前面必须加上@Param()
    @Select("select * from user where id=#{id}")
    User getUserById(@Param("id")int id);

    @Insert("insert into user(id,name,pwd) values(#{id},#{name},#{password})")
    int addUser(User user);

    @Update("update user set name=#{name},pwd=#{password} where id=#{id}")
    int updateUser(User user);

    @Delete("delete from user where id=#{uid}")
    int deleteUser(@Param("uid")int id);
}
posted @ 2023-01-05 17:33  Fannaa  阅读(99)  评论(0)    收藏  举报