Mybatis-Study01-第一个Mybatis

导入maven依赖

<dependencies>
   <!--        mysql驱动-->
           <dependency>
               <groupId>mysql</groupId>
               <artifactId>mysql-connector-java</artifactId>
               <version>5.1.47</version>
           </dependency>
   <!--        mybatis-->
           <dependency>
               <groupId>org.mybatis</groupId>
               <artifactId>mybatis</artifactId>
               <version>3.5.2</version>
           </dependency>
   <!--        junit-->
           <dependency>
               <groupId>junit</groupId>
               <artifactId>junit</artifactId>
               <version>4.12</version>
           </dependency>
       </dependencies>

解决maven中资源导包问题

  <build>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>false</filtering>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>false</filtering>
            </resource>
        </resources>
    </build>

编辑工程编码

<properties>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

以上都是maven配置文件中进行编写

编写mybatis-config.xml配置文件(该配置文件相当于原来的dao层)

<?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=false&amp;useUnicode=true&amp;characterEncoding=UTF-8&amp;serverTimezone=UTC"/>
                   <property name="username" value="root"/>
                   <property name="password" value="wzl8009261515"/>
               </dataSource>
           </environment>
       </environments>
   <!--    每一个mapper.xml都需要在这注册-->
       <mappers>
           <mapper resource="com/wang/dao/UserMapper.xml"/>
       </mappers>
   </configuration>

编写User类 User.java (实体类)

//实体类
   public class User {
       private int id;
       private String name;
       private String pwd;
       public User(){

       }

       public User(int id, String name, String pwd) {
           this.id = id;
           this.name = name;
           this.pwd = pwd;
       }

       public int getId() {
           return id;
       }

       public void setId(int 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;
       }

       @Override
       public String toString() {
           return "User{" +
                   "id=" + id +
                   ", name='" + name + '\'' +
                   ", pwd='" + pwd + '\'' +
                   '}';
       }
   }

编写Mybatis的工具类SqlSessionFactory(MybatisUtils.java)

//sqlSessionFactory   mybatis工具类
   public class MybatisUtils {
       //使用mybatis第一步
       //获取sqlSessionFactory对象
       private static SqlSessionFactory sqlSessionFactory;
       static{
           try {
               String resource="mybatis-config.xml";
               InputStream inputStream= Resources.getResourceAsStream(resource);
               sqlSessionFactory=new SqlSessionFactoryBuilder().build(inputStream);

           }catch (IOException e){
           e.printStackTrace();
           }
       }

       //openSession
       public static SqlSession getSqlSession(){
           return sqlSessionFactory.openSession();
       }

   }

编写UserMapper接口(原来的UserDao接口)

 public interface UserMapper {
       List<User> getUserList();
   }

编写UserMapper.xml配置文件(相当于UserDaoIml实现类)

<?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是指的刚刚编写的UserMapper接口-->
   <mapper namespace="com.wang.dao.UserMapper">
   <!--    可以进行编写Sql语句-->
   <!--    select查询  resultType:返回的结果集的类型-->
      <select id="getUserList" resultType="com.wang.pojo.User">
          select * from mybatis.user
      </select>
   </mapper>

测试类(UserMapperTest.java)

public class UserMapperTest {

       @Test
       public void test(){
           //第一步:获取SqlSeession对象
           SqlSession sqlSession= MybatisUtils.getSqlSession();
           //执行sql  方式一:getMapper
           UserMapper userDao=sqlSession.getMapper(UserMapper.class);

           List<User> userList=userDao.getUserList();

           for (User user:userList){
               System.out.println(user);
           }
           //关闭SqlSession
           sqlSession.close();
       }
   }

补充

如果我们的每一个包里有很多个mapper.xml文件
我们可以在mybatis-config.xml配置文件中这样设置(使用通配符)

<mappers>
           <mapper resource="com/wang/dao/*Mapper.xml"/>
       </mappers>

这样它就会自动扫描我们包下的所有mapper.xml文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

QQ星小天才

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值