我的第一个MyBatis
Posted ibear
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我的第一个MyBatis相关的知识,希望对你有一定的参考价值。
(1)步骤:1.新建实体类对象---根据数据库字段来设计,有多少字段设多少变量,变量名要字段名一致。
2.新建配置文件config.xml---主要用来获取数据源,里面内容大致需要填写:数据库驱动名、数据库地址名、数据库登录名、数据库登录密码。
3.新建映射文件Mapper.xml---数据库的增、删、改、查都是在这里书写。
4.编写Java主程序进行测试查询结果。
(2)
1.数据库表Person的字段和数据
2.根据数据库表单新建实体类对象
package entity; public class Person { private int id; private String name; private int age; 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 int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return this.name+","+this.age+","+this.id; } }
3..新建配置文件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="oracle.jdbc.OracleDriver"/> <property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/> <!-- <property name="url" value="jdbc:mysql://localhost:3306/MyBatis?useUnicode=true&characterEncoding=utf8"/> --> <property name="username" value="system"/> <property name="password" value="Qq122820"/> </dataSource> </environment> </environments> <mappers> <mapper resource="entity/personMapper.xml"/> </mappers> </configuration>
4.新建映射文件Mapper.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="entity.personMapper"> <select id="selectBlog" resultType="entity.Person" parameterType="int"> select * from Person where id=#{id} </select> </mapper>
5.编写Java主程序进行测试查询结果。
package entity; import java.io.IOException; import java.io.Reader; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; public class starts { public static void main(String[] args) throws IOException { //加载Mybatis配置文件(为了访问数据库) Reader reader = Resources.getResourceAsReader("entity/config.xml");//配置文件所在路径 //通过 SqlSessionFactory的SqlSessionFactoryBuilder()对象产生sessionFactory,产生后的sessionFactory打开session SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader); SqlSession session = sessionFactory.openSession(); //获取 namespace + id,执行映射文件里的哪个sql语句; String statement = "entity.personMapper.selectBlog"; Person person = session.selectOne(statement,1);//传递参数1,查询id=1的数据 System.out.println(person); //关闭session session.close(); } }
6.查询结果
7.所遇到的问题/解决方法
(1)问题
(2)解决方法
原来是映射文件Mapper.xml中namespace="entity.personMapper.xml"搞错了,不能加后缀,要改成namespace="entity.personMapper"
8.总结
映射文件中一般引入路径问题都不加后缀;
主程序/配置文件引入路径问题需要加后缀。
以上是关于我的第一个MyBatis的主要内容,如果未能解决你的问题,请参考以下文章