mybatis的第一个项目-狂神说Mybatis笔记

 

pom.xml

 

<?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</artifactId>    <version>1.0-SNAPSHOT</version>    <properties>        <java.version>11</java.version>        <maven.compiler.source>11</maven.compiler.source>        <maven.compiler.target>11</maven.compiler.target>    </properties>    <dependencies>        <dependency>            <groupId>mysql</groupId>            <artifactId>mysql-connector-java</artifactId>            <version>5.1.46</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.12</version>        </dependency>    </dependencies></project>

 

mybatis-config.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="development">        <environment id="development">            <transactionManager type="JDBC"/>            <dataSource type="POOLED">                <property name="driver" value="com.mysql.jdbc.Driver"/>                <property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=true&amp;useUnicode=true&amp;characterEncoding=UTF-8"/>                <property name="username" value="root"/>                <property name="password" value="root"/>            </dataSource>        </environment>    </environments>    <mappers>        <mapper resource="com/gavin/mapper/UserMapper.xml"/>    </mappers></configuration>

 

UserMapper.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"><!--放在com/gavin/mapper的原因是:如果把mapper xml放在src/main/java/com/gavin/mapper下,maven默认不会导出xml,jar包默认不会包含src/main/java/下的xml或者properties文件--><mapper namespace="com.gavin.mapper.UserMapper">    <select id="getUserList" resultType="com.gavin.entity.User">    select * from t_user  </select></mapper>

 

UserMapper.java

 

 

package com.gavin.mapper;​import com.gavin.entity.User;​import java.util.List;​public interface UserMapper {    List<User> getUserList();}​

 

User.java

 

package com.gavin.entity;​public class User {    private Long id;    private String name;    private String pwd;​    public Long getId() {        return id;    }​    public void setId(Long 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;    }}​

 

MybatisUtils.java

 

package com.gavin.utils;​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.IOException;import java.io.InputStream;​public class MybatisUtils {    private static  SqlSessionFactory sqlSessionFactory;    static{        String resource = "mybatis-config.xml";        try {            InputStream inputStream = Resources.getResourceAsStream(resource);            sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);        } catch (IOException e) {            e.printStackTrace();        }​    }​    public static SqlSession getSqlSession(){        return sqlSessionFactory.openSession();    }​}​

 

UserMapperTest.java

import com.gavin.mapper.UserMapper;import com.gavin.entity.User;import com.gavin.utils.MybatisUtils;import org.apache.ibatis.session.SqlSession;import org.junit.Test;​import java.util.List;​public class UserMapperTest {    @Test    public void testGetUserList(){        SqlSession sqlSession = MybatisUtils.getSqlSession();        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);        List<User> userList = userMapper.getUserList();        userList.forEach((user)->{            System.out.println(user.getName()+":"+user.getPwd());        });        sqlSession.close();    }}​

 

pom.xml

 

<?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</artifactId>    <version>1.0-SNAPSHOT</version>    <properties>        <java.version>11</java.version>        <maven.compiler.source>11</maven.compiler.source>        <maven.compiler.target>11</maven.compiler.target>    </properties>    <dependencies>        <dependency>            <groupId>mysql</groupId>            <artifactId>mysql-connector-java</artifactId>            <version>5.1.46</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.12</version>        </dependency>    </dependencies></project>

 

mybatis-config.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="development">        <environment id="development">            <transactionManager type="JDBC"/>            <dataSource type="POOLED">                <property name="driver" value="com.mysql.jdbc.Driver"/>                <property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=true&amp;useUnicode=true&amp;characterEncoding=UTF-8"/>                <property name="username" value="root"/>                <property name="password" value="root"/>            </dataSource>        </environment>    </environments>    <mappers>        <mapper resource="com/gavin/mapper/UserMapper.xml"/>    </mappers></configuration>

 

UserMapper.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"><!--放在com/gavin/mapper的原因是:如果把mapper xml放在src/main/java/com/gavin/mapper下,maven默认不会导出xml,jar包默认不会包含src/main/java/下的xml或者properties文件--><mapper namespace="com.gavin.mapper.UserMapper">    <select id="getUserList" resultType="com.gavin.entity.User">    select * from t_user  </select></mapper>

 

UserMapper.java

 

 

package com.gavin.mapper;​import com.gavin.entity.User;​import java.util.List;​public interface UserMapper {    List<User> getUserList();}​

 

User.java

 

package com.gavin.entity;​public class User {    private Long id;    private String name;    private String pwd;​    public Long getId() {        return id;    }​    public void setId(Long 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;    }}​

 

MybatisUtils.java

 

package com.gavin.utils;​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.IOException;import java.io.InputStream;​public class MybatisUtils {    private static  SqlSessionFactory sqlSessionFactory;    static{        String resource = "mybatis-config.xml";        try {            InputStream inputStream = Resources.getResourceAsStream(resource);            sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);        } catch (IOException e) {            e.printStackTrace();        }​    }​    public static SqlSession getSqlSession(){        return sqlSessionFactory.openSession();    }​}​

 

UserMapperTest.java

import com.gavin.mapper.UserMapper;import com.gavin.entity.User;import com.gavin.utils.MybatisUtils;import org.apache.ibatis.session.SqlSession;import org.junit.Test;​import java.util.List;​public class UserMapperTest {    @Test    public void testGetUserList(){        SqlSession sqlSession = MybatisUtils.getSqlSession();        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);        List<User> userList = userMapper.getUserList();        userList.forEach((user)->{            System.out.println(user.getName()+":"+user.getPwd());        });        sqlSession.close();    }}​

 

posted @ 2021-06-08 18:04  gavin苗  阅读(134)  评论(0)    收藏  举报