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);
}