MyBatis:简介、第一个程序02(纯小白非常实用)
不知道怎么回事,上一篇博客在最后不能上传图片了,一直说网络的问题,上传失败。自己也没解决好,于是就的在这篇博客叙述。继续我们的正事。
上次说到了编写工具类:
package com.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; // 这些代码都是死的 //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(); } } //既然有了 SqlSessionFactory,顾名思义,我们可以从中获得 SqlSession 的实例。 // SqlSession 提供了在数据库执行 SQL 命令所需的所有方法。你可以通过 SqlSession 实例来直接执行已映射的 SQL 语句。 public static SqlSession getSqlSession(){ return sqlSessionFactory.openSession(); } }
编写数据库代码:
1、编写我们的实体类(根据我们的数据库写,名字都一样):
package com.pojo; public class User { private int id; private String username; private String password; public User() { } public User(int id, String username, String password) { this.id = id; this.username = username; this.password = password; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } @Override public String toString() { return "User{" + "id=" + id + ", username='" + username + '\'' + ", password='" + password + '\'' + '}'; } }
根据文档的要求:编写我们的接口类和xml
接口类:
package com.mapper; import com.pojo.User; import java.util.List; public interface userMapper { public List<User> getUserList(); }
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"> <mapper namespace="com.mapper.userMapper"> <select id="getUserList" resultType="com.pojo.User"> select * from user </select> </mapper>
修改我们的userMapper.xml里的mappers(就是我说先不用管那个,因为现在我们有了xml配置文件,所以得修改)
最后进行测试:(测试代码是我们自己写的)
package com;; import com.mapper.userMapper; import com.pojo.User; import com.utils.MyBatisUtils; import org.apache.ibatis.session.SqlSession; import org.junit.Test; import java.util.List; public class test { @Test public void test(){ SqlSession sqlSession = MyBatisUtils.getSqlSession(); userMapper userMapper = sqlSession.getMapper(userMapper.class); List<User> list = userMapper.getUserList() ; for (User user:list){ System.out.println(user); } } }
运行test:(在这说明一下,运行test肯定会出错。因为有好多内容实在是太嘈杂,一个个不好列,所以我都把解决这些问题的方法都写到我的博客里了,你们可以根据问题来找我的博客,都能解决了。我就是用这些方法解决的。)
数据库表:
结尾:
mybatis的第一天花费的精力很多。刚开始接触不容易,都很难,关键在于坚持。这两篇博客一是为了让自己加深记忆,早早上自己上手,二是为了写给那些学习mybatis的小白。(我也是刚学习的小白)。有什么不懂得可以在我的博客留言。我都会回复你们得。比较都不容易(哈哈哈哈)