MyBatis DAO层开发——Mapper动态代理方式,mybatismapper
SqlMapConfig.xml
<?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>
<environments default="development">
<environment id="development">
<!-- 使用jdbc事务管理 -->
<transactionManager type="JDBC"/>
<!-- 数据库连接池 -->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8"/>
<property name="username" value="root"/>
<property name="password" value="011220"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="sqlmap/user.xml"/>
<mapper resource="mapper/mapper.xml"/>
</mappers>
</configuration>
mapper.xml
<?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="cn.nwtxxb.mybatis.mapper.UserMapper">
<!-- 根据用户id查询用户信息 -->
<select id="getUserById" parameterType="int" resultType="cn.nwtxxb.mybatis.po.User">
select * from user where id = #{id}
</select>
<!-- 根据用户名查询用户信息 -->
<select id="getUserByName" parameterType="java.lang.String" resultType="cn.nwtxxb.mybatis.po.User">
select * from user where username like '%${value}%'
</select>
<!-- 添加用户 -->
<insert id="insertUser" parameterType="cn.nwtxxb.mybatis.po.User">
<!-- selectKey将主键返回 -->
<selectKey keyProperty="id" order="AFTER" resultType="java.lang.Integer">
select LAST_INSERT_ID()
</selectKey>
insert into user (username,birthday,sex,address) values (#{username},#{birthday},#{sex},#{address})
</insert>
<!-- 删除用户 -->
<delete id="deleteUserById" parameterType="int">
delete from user where id=#{id}
</delete>
<!-- 修改用户 -->
<update id="updateUser" parameterType="int">
update user set username=#{username},birthday=#{birthday},sex=#{sex},address=#{address} where id=#{id}
</update>
</mapper>
UserMapper.java
package cn.nwtxxb.mybatis.mapper;
import java.util.List;
import cn.nwtxxb.mybatis.po.User;
public interface UserMapper {
User getUserById(int id);
List<User> getUserByName(String name);
void insertUser(User user);
}
UserMapperTest.java
package cn.nwtxxb.mybatis.mapper.test;
import java.io.InputStream;
import java.util.Date;
import java.util.List;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Before;
import org.junit.Test;
import cn.nwtxxb.mybatis.mapper.UserMapper;
import cn.nwtxxb.mybatis.po.User;
public class UserMapperTest {
private SqlSessionFactory sqlSessionFactory = null;
@Before
public void init() throws Exception{
SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
InputStream inputStream = Resources.getResourceAsStream("SqlMapConfig.xml");
sqlSessionFactory = sqlSessionFactoryBuilder.build(inputStream);
}
@Test
public void testGetUserById() {
SqlSession sqlSession = sqlSessionFactory.openSession();
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
User user = userMapper.getUserById(10);
sqlSession.close();
System.out.println(user);
}
@Test
public void testGetUserByName() {
SqlSession sqlSession = sqlSessionFactory.openSession();
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
List<User> list = userMapper.getUserByName("张");
sqlSession.close();
for (User user : list) {
System.out.println(user);
}
}
@Test
public void testInsertUser() {
SqlSession sqlSession = sqlSessionFactory.openSession();
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
User user = new User();
user.setUsername("汪明小盆友");
user.setSex("2");
user.setBirthday(new Date());
user.setAddress("北极圈");
userMapper.insertUser(user);
sqlSession.commit();
sqlSession.close();
}
}
User.java
package cn.nwtxxb.mybatis.po;
import java.util.Date;
public class User {
private int id;
private String username;
private String sex;
private Date birthday;
private String address;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
@Override
public String toString() {
return "User [id=" + id + ", username=" + username + ", sex=" + sex + ", birthday=" + birthday + ", address="
+ address + "]";
}
}
版权声明:本文为博主原创文章,未经博主允许不得转载。 http://blog.csdn.net/a772304419/article/details/79069308
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。