您的位置:首页 > 其它

mybatis-入门案例

2017-07-14 17:42 357 查看

创建数据库

创建数据库mybatis

创建表

orderdetail



orders



items



user



下载jar包

访问https://github.com/mybatis/,点击mybatis-3,点击releases,找到mybatis-3.2.7,点击mybatis-3.2.7.zip是下载jar包,点击Source code (zip)是下载源码。

之后将mybatis-3.2.7.zip解压

lib:里边是所依赖的jar包

mybatis-3.2.7.jar:核心jar包

mybatis-3.2.7.pdf:说明文档

导入jar包

lib文件里所依赖的jar包和核心jar包,还有一个数据库驱动包。

编写代码

建立一个user类

public class User {
private int id;
private String username;// 用户姓名
private String sex;// 性别
private Date birthday;// 生日
private String address;// 地址

//get和set方法省略。。。
@Override
public String toString() {
return "User [id=" + id + ", username=" + username + ", sex=" + sex
+ ", birthday=" + birthday + ", address=" + address + "]";
}

}


建立一个接口。mybatis提出了mapper接口,相当于dao接口,mapper接口的命名方式建立:表名Mapper

public interface UserMapper {

//根据用户id查询用户信息
public User findUserById(int id) throws Exception;

}


建立一个映射文件UserMapper.xml。文件的命名方式建议:表名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.itcast.mybatis.mapper.UserMapper">

<select id="findUserById" parameterType="int" resultType="cn.itcast.mybatis.po.User">
SELECT * FROM USER WHERE id= #{id}
</select>

</mapper>


要求其namespace的名称为接口的全限定名,其目的是将mapper.xml和mapper.java进行关联。

id名称就是接口中方法的名称。parameterType和接口中方法输入参数类型一致,resultType和接口中方法的返回值的类型一样。

建立一个SqlMapConfig.xml

<!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">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis"/>
<property name="username" value="root"/>
<property name="password" value="157326"/>
</dataSource>
</environment>
</environments>

<mappers>
<package name="cn.itcast.mybatis.mapper"/>
</mappers>

</configuration>


environments 元素在于spring整合后将被删除。

transactionManager type=”JDBC”:使用JDBC管理事务

dataSource:数据库连接池

mappers:加载mapper.xml文件。这种配置方式,会自动扫描包下边的mapper接口,要求mapper.xml和mapper.java同名并且在一个目录中。

编写测试类

public class UserMapperTest {

// 会话工厂
private SqlSessionFactory sqlSessionFactory;

// 创建工厂
@Before
public void init() throws IOException {

// 配置文件(SqlMapConfig.xml)
String resource = "SqlMapConfig.xml";

// 加载配置文件到输入 流
InputStream inputStream = Resources.getResourceAsStream(resource);

// 创建会话工厂
sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

}

@Test
public void testFindUserById() throws Exception {

SqlSession sqlSession = sqlSessionFactory.openSession();
// 创建代理对象
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);

User user = userMapper.findUserById(1);

System.out.println(user);

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mybatis