使用xml文件搭建:
1.创建maven项目
2.连接数据库,时间不对的可以设置成
Asia/Shanghai
2.配置pom 注入所需依赖
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" 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"> <modelVersion>4.0.0</modelVersion> <groupId>org.example</groupId> <artifactId>mybatis_test1</artifactId> <version>1.0-SNAPSHOT</version> <dependencies> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.12</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13.2</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.47</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.47</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.2</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13.2</version> <scope>test</scope> </dependency> </dependencies> </project>
3.配置mybatis核心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="mysql"> <!-- 配置mysql的和环境--> <environment id="mysql"> <!-- 配置事务--> <transactionManager type="JDBC"></transactionManager> <!-- 配置连接池--> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver"></property> <property name="url" value="jdbc:mysql://localhost:3306/bobo?useSSL=false&useUnicode=true&characterEncoding=utf8"></property> <property name="username" value="root"></property> <property name="password" value="123456"></property> </dataSource> </environment> </environments> <!-- 配置映射文件的位置--> <mappers> <mapper resource="cn/bobo/IUserDao/IUserDao.xml"></mapper> </mappers> </configuration>
4.创建实体类user
package cn.bobo.User; import java.io.Serializable; public class User implements Serializable { private Integer id; private String name; private String pwd; @Override public String toString() { return "User{" + "id=" + id + ", name='" + name + '\'' + ", pwd='" + pwd + '\'' + '}'; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPwd() { return pwd; } public void setPwd(String pwd) { this.pwd = pwd; } }
5.创建接口IUserDao
package cn.bobo.IUserDao; import cn.bobo.UserDao.user; import org.apache.ibatis.annotations.Select; import java.util.List; public interface IUserDao { // @Select("select * from user") List<user> findall(); }
6.在resouorves中导入log4j.properties
log4j.rootLogger=debug, stdout, R log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout # Pattern to output the caller's file name and line number. log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n log4j.appender.R=org.apache.log4j.RollingFileAppender log4j.appender.R.File=example.log log4j.appender.R.MaxFileSize=100KB # Keep one backup file log4j.appender.R.MaxBackupIndex=5 log4j.appender.R.layout=org.apache.log4j.PatternLayout log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
7.测试类:
package cn.bobo; import cn.bobo.IUserDao.IUserDao; import cn.bobo.UserDao.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 org.junit.Test; import java.io.IOException; import java.io.InputStream; import java.util.List; public class test1 { @Test public void testfindall() throws IOException { // 1.读取配置文件,生成字节输入流 InputStream in = Resources.getResourceAsStream("mybatis.xml"); // 2. 获取SqlSwssionFactory SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in); // 3.获取SqlSession对象 SqlSession sqlSession = factory.openSession(); // 4. 获取dao的代理对象 IUserDao userDao = sqlSession.getMapper(IUserDao.class); // 5. 执行查询所有方法 List<user> users = userDao.findall(); for (user user1 :users ){ System.out.println(user1); } // 6. 释放资源 sqlSession.close(); in.close(); } }
使用注解实现
与xml文件不同的是
1.接口中使用selec
xml中:
2.mapper映射不同
注解使用的是class
xml中