您的位置:首页 > 数据库

【mybatis】【第一个Helloworld】【控制台显示sql】

2018-01-27 13:45 323 查看

使用的包



domain类

public class User implements Serializable{
private Long id;
private String name;
private Integer age            =(int)(Math.random()*20);
private Date birthday          =new Date();
}


配置文件mybatis-config.xml

1.给domain类声明别名

2.部署环境(数据库)

3.引入映射文件

<?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.lwf.mybatis.hallo.User" alias="User"/>
</typeAliases>

<!-- 环境部署,在多个环境中选一个要用的环境,目的的适应不同的数据库 -->
<!-- default表示要使用的环境的id -->
<environments default="default">
<environment id="default">
<!-- 配置JDBC,(表示使用JDBC的事务) -->
<transactionManager type="JDBC"/>
<!-- 配置连接池 -->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql:///jdbc"/>
<property name="username" value="root"/>
<property name="password" value="admin"/>
</dataSource>
</environment>
</environments>

<!-- 配置要管理的mapper文件 -->
<mappers>
<mapper resource="com/lwf/mybatis/hallo/UserMapper.xml"/>
</mappers>

</configuration>


映射文件UserMapper.xml

声明属性和列的对应

sql语句声明

<?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.lwf.mybatis.hallo.UserMapper">
<!-- 声明属性和列的对应 -->
<resultMap type="User" id="user_mapping">
<id column="id" property="id"/>
<result column="name" property="name"/>
<result column="age" property="age"/>
<result column="birthday" property="birthday"/>
</resultMap>
<!-- 此处birthday的类型的Date 对应数据库的datetime,但会根据数据库的类型自动转换(比如数据库为time,最后保留时分秒) -->

<!-- sql语句 -->
<insert id="add" keyColumn="id" keyProperty="id" useGeneratedKeys="true" parameterType="User">
insert into user(name,age,birthday) values ( #{name},#{age},#{birthday})
</insert>

</mapper>


结果测试

@Test
public void dowork() throws Exception{
User user = new User();
//启动框架,获取SqlSessionFactory
SqlSessionFactory sf=new SqlSessionFactoryBuilder().
build(Resources.getResourceAsStream("mybatis-config.xml"));
//创建session对象(同时也是开启事务)
SqlSession session = sf.openSession();
session.insert("com.lwf.mybatis.hallo.UserMapper.add",new User());
//提交事务,关闭session
session.commit();
session.close();

}


控制台显示sql

在根目录中添加log4j.properties文件

log4j.rootLogger=ERROR, stdout
#表示映射文件的包,所在的位置(是包!是包!是包的位置)
log4j.logger.com.lwf.mybatis=TRACE

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout
a83a
.layout.ConversionPattern=%5p [%t] - %m%n
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mybatis