MyBatis快速入门

创建 maven 工程

创建 mybatis01 的工程,工程信息如下:

Groupid:com.itheima

ArtifactId:mybatis01

Packing:jar

添加 Mybatis3.4.5 的坐标

在 pom.xml 文件中添加 Mybatis3.4.5 的坐标,如下: 

<dependencies>

 <dependency>

 <groupId>org.mybatis</groupId>

 <artifactId>mybatis</artifactId>

 <version>3.4.5</version>

 </dependency>

 <dependency>

 <groupId>junit</groupId>

 <artifactId>junit</artifactId>

 <version>4.10</version>

 <scope>test</scope>

 </dependency>

 <dependency>

 <groupId>mysql</groupId>

 <artifactId>mysql-connector-java</artifactId>

 <version>5.1.6</version>

 <scope>runtime</scope>

 </dependency>

 <dependency>

 <groupId>log4j</groupId>

 <artifactId>log4j</artifactId>

 <version>1.2.12</version>

 </dependency>

 </dependencies>

 

编写 User 实体类

/**

*

* <p>Title: User</p>

* <p>Description: 用户的实体类</p>

* <p>Company: http://www.itheima.com/ </p>

*/

public class User implements Serializable {

private Integer id;

private String username;

private Date birthday;

private String sex;

private String address; public Integer getId() {

return id;

}

public void setId(Integer id) {

this.id = id;

}

public String getUsername() {

return username;

}

public void setUsername(String username) {

this.username = username;

}

public Date getBirthday() {

return birthday;

}

public void setBirthday(Date birthday) {

this.birthday = birthday;

}

public String getSex() {

return sex;

}

public void setSex(String sex) {

this.sex = sex;

}

public String getAddress() {

return address;

}

public void setAddress(String address) {

this.address = address;

}

@Override

public String toString() {

return "User [id=" + id + ", username=" + username + ", birthday=" + birthday

+ ", sex=" + sex + ", address="

+ address + "]";

}

}

编写持久层接口 IUserDao

IUserDao 接口就是我们的持久层接口(也可以写成 UserDao 或者 UserMapper),具体代码如下:

/**

** <p>Title: IUserDao</p>

* <p>Description: 用户的持久层操作</p>

* <p>Company: http://www.itheima.com/ </p>

*/

public interface IUserDao {

/**

* 查询所有用户

* @return

*/

List<User> findAll();

}

编写持久层接口的映射文件 IUserDao.xml

要求:

创建位置:必须和持久层接口在相同的包中。

名称:必须以持久层接口名称命名文件名,扩展名是.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="com.itheima.dao.IUserDao">

<!-- 配置查询所有操作 -->

<select id="findAll" resultType="com.itheima.domain.User">

select * from user

</select>

</mapper>

编写 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>

<!-- 配置 mybatis 的环境 -->

<environments default="mysql">

<!-- 配置 mysql 的环境 -->

<environment id="mysql">

<!-- 配置事务的类型 -->

<transactionManager type="JDBC"></transactionManager>

<!-- 配置连接数据库的信息:用的是数据源(连接池) -->

<dataSource type="POOLED">

<property name="driver" value="com.mysql.jdbc.Driver"/>

<property name="url" value="jdbc:mysql://localhost:3306/ee50"/>

<property name="username" value="root"/>

<property name="password" value="1234"/>

</dataSource>

</environment>

</environments>

<!-- 告知 mybatis 映射配置的位置 -->

<mappers>

<mapper resource="com/itheima/dao/IUserDao.xml"/>

</mappers>

</configuration>

编写测试类

/**

*

* <p>Title: MybatisTest</p>

* <p>Description: 测试 mybatis 的环境</p>

* <p>Company: http://www.itheima.com/ </p>

*/

public class MybatisTest {

public static void main(String[] args)throws Exception {

//1.读取配置文件

InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");

//2.创建 SqlSessionFactory 的构建者对象

SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();

//3.使用构建者创建工厂对象 SqlSessionFactory

SqlSessionFactory factory = builder.build(in);

//4.使用 SqlSessionFactory 生产 SqlSession 对象

SqlSession session = factory.openSession();

//5.使用 SqlSession 创建 dao 接口的代理对象

IUserDao userDao = session.getMapper(IUserDao.class);

//6.使用代理对象执行查询所有方法

List<User> users = userDao.findAll();

for(User user : users) {

System.out.println(user);

}

//7.释放资源

session.close();

in.close();

}

}

补充(基于注解的 mybatis 使用)

在持久层接口中添加注解

/**

*

* <p>Title: IUserDao</p>

* <p>Description: 用户的持久层操作</p>

* <p>Company: http://www.itheima.com/ </p>

*/

public interface IUserDao {

/**

* 查询所有用户

* @return

*/

@Select("select * from user")

List<User> findAll();

}

修改 SqlMapConfig.xml

<!-- 告知 mybatis 映射配置的位置 -->

<mappers>

<mapper class="com.itheima.dao.IUserDao"/>

</mappers>

注意事项:

在使用基于注解的 Mybatis 配置时,请移除 xml 的映射配置(IUserDao.xml)。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值