1、首先添加Maven依赖和MySql依赖
部分片段:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.38</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.3.0</version>
</dependency>
2、创建MyBatis的配置文件,并在XML中配置Mybatis的核心功能
2.1 XML配置文件中包含了对MyBatis系统的核心配置、包含获取数据库连接实例的数据源(DataSource)和决定事务范围和控制方式的事务管理器(TransactionManager)
2.2 在项目的根目录或人意目录下创建一个名为 “mybatis-config.xml” 的文件,文件名可以改变,并引用相关DTD
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYDE configuration PUBLIC "-//mybatis.org/DTD config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <properties resource="properies文件的路径"></properties> <environments default="development"> <environment id="development"> <transactionManager type="JDBC" ></transactionManager> <datasource type="POOLED"> <property name="driver" value="${driver}" /> <property name="url" value=${url}" /> <property name="username" value="${username}" /> <property name="password" value="${password}" /> </datasource> </environment> </environments> </configuration>
- 2.3 说明:
<property>
标签用于引用properties文件,与数据库连接等的信息可写在properties文件中
3、创建实体类User
User.java
public class User { private int id; private String userName; private String password; private String nickName; private int type; ...... ...... ...... }
4、创建User实体类的mapper映射xml文件:用于添加SQL语句的配置
4.1. user.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org/DTD Mapper 3.0//EN "http://mybatis.org/dtd/mybaties-3-mapper.dtd" > <mapper namespace="model.User" > <insert id="add" paramterType="model.User" > insert into t_user(username, nickname, password, type) value(#{username}, #{nickname}, #{password}, #{type}) </insert> <select id="select" paramterType="int" resultType="model.User" > SELECT * FROM t_user WHERE id=#{id} </select> </mapper>
namespace : 命名空间,通常使用完全限定类名”model.User”,使用命名空间,可以允许你使用完全限定类名”model.User”来调用映射语句
- paramType : 参数类型
5、将user.xml文件的添加到mybatis的配置文件中:
<mappers>
<mapper resource="user.xml" />
</mappers>
6、在代码中使用MyBatis进行执行SQL等数据库的操作:
创建Test测试类:
public class Test { @Test public void testInsert() { //mybatis的配置文件的路径,由于使用了Maven,便把mybatis-config.xml放在了src/main/resources中,所以不用加上路径 String resource = "mybatis-config.xml"; try { //获得配置文件的输入流 InputStream is = Resources.getResourceAsStream(resource); //从XML配置文件中构建SqlSessionFactory的实例, //每个基于 MyBatis的应用都是以SqlSessionFactory实例为中心的,该实例可以通过SqlSessionFactoryBuilder获得, //而SqlSessionFactoryBuilder则可以从XML配置文件或 //一个预定制的Configutation的实例构建出SqlSessionFactory实例 SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(is); SqlSession sqlSession = sessionFactory.openSession(); User user = new User(); user.setUserName("...."); user.setNickName("...."); user.setPassword("....."); user.setType(...); sqlSession.insert("model.User.add", user); sqlSession.commit(); sqlSession.Close(); } catch (Exception e){ ........ } } @Test public void testSelect() { String resource = "mybatis-config.xml"; try { InputStream is = Resources.getResourceAsStream(resource); SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().builder(is); SqlSession session = sessionFactory.openSession(); User user = session.selectOne("model.User.select", 1); System.out.println(user.toStirng()); } catch (Exception e) { ..... } } }
7、