Mybatis的第一个程序

学习目标:Mybatis的第一个程序


学习内容:

1、 创建数据库

2、 新建maven项目

3、 删除src目录

4、 导入maven依赖

 <dependencies>
       <!--mysql驱动-->
       <dependency>
           <groupId>mysql</groupId>
           <artifactId>mysql-connector-java</artifactId>
           <version>8.0.22</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> 

5、创建模块

  • 1.编写mybatis核心配置文件
<!--configuration核心配置文件-->
<configuration>
   <environments default="development">
       <environment id="development">
           <transactionManager type="JDBC"/>
           <dataSource type="POOLED">
               <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
               <property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=true&amp;useUnicode=true&amp;characterEncoding=UTF-8&amp;serverTimezone = UTC"/>
               <property name="username" value="root"/>
               <property name="password" value="123"/>
           </dataSource>
       </environment>
   </environments>
   <!--每一个Mapper都需要在Mybatis核心配置文件中注册!-->
   <mappers>
       <mapper resource="com/mybatis/dao/UserMapper.xml"/>
   </mappers>
</configuration>
  • 编写mybatis工具类
//sqlSessionFactory --> sqlSession
public class MybatisUtils {
  private static SqlSessionFactory sqlSessionFactory;
  static {
      try {
          //使用Mybatis第一步:获取sqlSessionFactory对象
          String resource = "mybatis-config.xml";
          InputStream inputStream = Resources.getResourceAsStream(resource);
          sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
      } catch (IOException e) {
          e.printStackTrace();
      }
  }
  //SqlSession包含了面向数据库执行SQL命令所需的所有方法
  public static SqlSession getSqlSession(){
      return sqlSessionFactory.openSession();
  }
}

6、编写代码

  • 实体类
//实体类
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 + '\'' +
               '}';
   }
}
  • Dao接口
public interface UserDao {
   List<User> getUserList();
}
  • 接口实现类
<!--namespace=绑定一个对应的Dao/Mapper接口-->
<mapper namespace="com.mybatis.dao.UserDao">
   <!--select查询语句-->
   <select id="getUserList" resultType="com.mybatis.pojo.User">
       select * from mybatis.user
   </select>
</mapper>

7、测试

  • 在test目录中建立测试类(与要测试的类的目录相同)
public class UserDaoTest {
   @Test
   public void test(){
       //第一步:获得sqlSession对象
       SqlSession sqlSession = MybatisUtils.getSqlSession();
       //方式一:执行SQL
       UserDao userDao = sqlSession.getMapper(UserDao.class);
       List<User> userList =userDao.getUserList();
       for(User user : userList){
           System.out.println(user);
       }
       //关闭sqlSession
       sqlSession.close();
   }
}

8、易错点

  • 每一个Mapper都需要在Mybatis核心配置文件中注册!

    <mappers>
        <mapper resource="com/mybatis/dao/UserMapper.xml"/>
    </mappers>
    
  • 初始化异常(Could not find resource com.mybatis.dao.UserMapper.xml)

    • 在pom.xml中添加以下代码
  <!--在build中配置resources,来防止资源导出失败问题-->
  <build>
      <resources>
          <resource>
              <directory>src/main/resources</directory>
              <includes>
                  <include>**/*.properties</include>
                  <include>**/*.xml</include>
              </includes>
              <filtering>true</filtering>
          </resource>
          <resource>
              <directory>src/main/java</directory>
              <includes>
                  <include>**/*.properties</include>
                  <include>**/*.xml</include>
              </includes>
              <filtering>true</filtering>
          </resource>
      </resources>
  </build>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值