1.打开IDEA点击Create NewProject 如图所示:
2.选择Maven工程和JDK的版本,并点击Next如图所示:
3.把项目名称和保存的地址填写好,点击Finish完成,如图所示:
4.打开pom.xml 导入相关依赖的代码如下:
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 org.example day01_02mybatis_annotation 1.0-SNAPSHOT jar org.mybatis mybatis 3.5.4 mysql mysql-connector-java 5.1.6 log4j log4j 1.2.12 junit junit 3.8.2 test org.projectlombok lombok 1.18.12 |
5. 创建IUserDao.xml映射文件如图所示:
代码如下:
/p> PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> |
6.用户持久层的代码如下:
package com.txw.dao; import com.txw.donain.User; import org.apache.ibatis.annotations.Select; import java.util.List; /** * 用户的持久层接口 * @author:Adair */ @SuppressWarnings("all") // 注解警告信息 public interface IUserDao { /** * 查询所有的操作 * @return */ @Select("select * from user") public List findAll(); } |
7.测试类代码如下:
package com.txw.test; import com.txw.donain.User; import com.txw.dao.IUserDao; 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; /** * MyBatis的入门案例 * @author:Adair */ public class MyBatisTest { public static void main(String[] args) throws Exception { // 1.读取配置文件 InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml"); // 2.创建 SqlSessionFactory工厂 SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder(); SqlSessionFactory factory = builder.build(in); // 3.使用工厂生产SqlSession对象 SqlSession sqlSession = factory.openSession(); // 4.使用SqlSession创建dao接口的动态代理对象 IUserDao iUserDao = sqlSession.getMapper(IUserDao.class); // 5.使用代理对象执行方法 List users = iUserDao.findAll(); for (User user : users) { System.out.println(user); } // 6.释放资源 sqlSession.close(); in.close(); } } |
运行结果如图所示:
把IUserDao.xml移除,在dao接口的方法上使用@Select注解,并且指定SQL语句,同时需要在SqlMapConfig.xml中的mapper配置时,使用class属性指定dao接口的全限定类名。
明确:
我们在实际开发中,都是越简便越好,所以都是采用不写dao实现类的方式。
不管使用XML还是注解配置。
但是Mybatis它是支持写dao实现类的。