mybatis的入门之搭建mybatis框架:
第一步:在resources包下建立db.properties数据库连接数据
driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/mybatis?useSSL=true&useUnicode=true&characterEncoding=utf-8 username=root password=root
第二步:从官方文档复制配置文件(放在resources报下,并填写对应的driver、url、username、password)
<?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="${driver}"/> <property name="url" value="${url}"/> <property name="username" value="${username}"/> <property name="password" value="${password}"/> </dataSource> </environment> </environments> <mappers> <mapper resource="org/mybatis/example/BlogMapper.xml"/> </mappers> </configuration>
第三部:创建对应的工具类:
public class MybatisUtil { private static SqlSessionFactory sqlSessionFactory; static { String resources = "mybatis-config.xml"; //获取sqlSessionFactory对象 try { InputStream inputStream = Resources.getResourceAsStream(resources); sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); } catch (IOException e) { e.printStackTrace(); } } public static SqlSession getSqlSession(){ SqlSession sqlSession = sqlSessionFactory.openSession(); return sqlSession; } }
第四步:写实体类
public class Users { private int id; private String name; private String pwd; public Users(int id) { this.id = id; } public Users(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 "Users{" + "id=" + id + ", name='" + name + '\'' + ", pwd='" + pwd + '\'' + '}'; } }
第五步:写接口及UsersMapper.xml
public interface UsersDao { public List<Users> getUsersList(); // Users getUserById(int id); }
<!--select id,name,password as pwd from mybatis.users where id = #{id}--> <mapper namespace="com.dao.UsersDao"> <!--结果集映射 resultMap 元素是 MyBatis 中最重要最强大的元素--> <resultMap id="UsersMap" type="Users"> <!-- column=""=数据库的字段 property=""=实体类中的属性 --> <!-- <result column="id" property="id"/>--> <!-- <result column="name" property="name"/>--> <result column="password" property="pwd"/> </resultMap> <select id="getUsersList" resultType="Users"> select * from mybatis.users; </select> <select id="getUserById" resultType="Users"> select * from mybatis.users where id = #{id}; </select> </mapper>
第六步:写测试类测试(测试类建议放在test包下并且跟main包一一对应)
@Test public void test(){ //获得sqlSession对象 SqlSession sqlSession = MybatisUtil.getSqlSession(); //执行SQL UsersMapper mapper = sqlSession.getMapper(UsersMapper.class); List<Users> usersList = mapper.getUsersList(); //方式二: // List<Users> usersList = sqlSession.selectList("com.Util.dao.UsersDao.getUsersList"); for (Users users : usersList) { System.out.println(users); } //关闭sqlSession sqlSession.close(); }