04 Mybatis 框架的环境搭建及入门案例
作者:互联网
1.搭建 Mybatis 开发环境
mybatis的环境搭建
第一步:创建maven工程并导入坐标
第二步:创建实体类和dao的接口
第三步:创建Mybatis的主配置文件
SqlMapConifg.xml
第四步:创建映射配置文件
IUserDao.xml
环境搭建的注意事项:
(1)创建IUserDao.xml 和 IUserDao.java时名称是为了和我们之前的知识保持一致。
在Mybatis中它把持久层的操作接口名称和映射文件也叫做:Mapper
所以:IUserDao 和 IUserMapper是一样的
(2)mybatis的映射配置文件位置必须和dao接口的包结构相同
(3)映射配置文件的mapper标签namespace属性的取值必须是dao接口的全限定类名
(4)映射配置文件的操作配置(select),id属性的取值必须是dao接口的方法名
当我们遵从了第2,3,4点之后,我们在开发中就无须再写dao的实现类。
具体操作步骤:
(1)创建 maven 工程
Create New Project--->Maven--->不选择骨架,直接点next--->填写GroupId和ArtifactId--->next--->finish即可,创建一个普通的java工程。
(2)mybatis的jar包引入
使用 Maven 来构建项目,则需将下面的 dependency 代码置于 pom.xml 文件中
在 pom.xml 文件中添加 Mybatis3.4.5 的坐标
<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.5</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.6</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.12</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.10</version> </dependency>
(3)编写 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"> <!-- mybatis的主配置文件 --> <configuration> <!-- 配置环境 --> <environments default="mysql"> <!-- 配置mysql的环境--> <environment id="mysql"> <!-- 配置事务的类型--> <transactionManager type="JDBC"></transactionManager> <!-- 配置数据源(连接池) --> <dataSource type="POOLED"> <!-- 配置连接数据库的4个基本信息(以下内容需要根据实际情况进行修改) --> <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="plj824"/> </dataSource> </environment> </environments> <!-- 指定映射配置文件的位置,映射配置文件指的是每个dao独立的配置文件 --> <mappers> <!--方法1:xml配置(比较麻烦)--> <!--<mapper resource="dao/IUserDao.xml"/>--> <!--方法2:注解配置(推荐)--> <mapper class="dao.IUserDao"/> </mappers> </configuration>
(4)创建映射配置文件IUserDao.xml (注解模式下,该文件可以删除)
mybatis的注解模式:
把IUserDao.xml移除,在dao接口的方法上使用@Select注解,并且指定SQL语句
同时需要在SqlMapConfig.xml中的mapper配置时,使用class属性指定dao接口的全限定类名。
<?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"> <!--注意namespace写的是IUserDao这个接口文件的相对路径--> <mapper namespace="dao.IUserDao"> <!--配置查询所有--> <!--id对应IserDao接口的方法--> <select id="findAll" resultType="domain.User"> select * from user </select> </mapper>
入门案例:
数据库表User对应的实体类User.java
package domain; import java.io.Serializable; import java.util.Date; /** * 数据库表对应的实体类 */ 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.java(接口)
package dao; import domain.User; import org.apache.ibatis.annotations.Select; import java.util.List; public interface IUserDao { /** * 查询所有 * @return */ // 注解模式 @Select("select *from user") List<User> findAll(); }
测试类:
package test; import dao.IUserDao; import domain.User; 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 java.io.InputStream; import java.util.List; public class MybatisTest01 { /** * 入门案例 * @param args */ public static void main(String[] args) throws Exception{ //1.读取配置文件 InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml"); //2.创建SqlSessionFactory SqlSessionFactoryBuilder builder=new SqlSessionFactoryBuilder(); //创建SqlSessionFactory的构建者builder SqlSessionFactory factory=builder.build(in); //利用构建者builder创建SqlSessionFactory //3.使用工厂生产SqlSession对象 SqlSession sqlSession = factory.openSession(); //4.使用SqlSessions对象创建Dao接口的代理对象 IUserDao userDao = sqlSession.getMapper(IUserDao.class); //5.使用代理对象执行方法 List<User> users = userDao.findAll(); for (User user : users) { System.out.println(user); } //6.释放资源 sqlSession.close(); in.close(); } }
测试类代码步骤分析:
测试类代码原理分析:
标签:xml,java,String,04,IUserDao,Mybatis,import,public,入门 来源: https://www.cnblogs.com/luckyplj/p/11299401.html