mybatis
ibatis:apache
2010 ibatis->google colde,Mybatis
MyBatis可以简化JDBC操作,实现数据的持久化
ORM:Object Relational Mapping
person对象 person表
ORM:概念
Mybatis是ORM的一个实现
ORM可以使开发人员像操作对象一样操作数据库表
开发mybatis程序步骤
1.配置mybatis
conf.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">
<!--指定事务管理的类型,这里简单使用Java的JDBC的提交和回滚设置-->
<transactionManager type="JDBC"></transactionManager>
<!--dataSource 指连接源配置,POOLED是JDBC连接对象的数据源连接池的实现-->
<dataSource type="POOLED">
<property name="driver" value="oracle.jdbc.OracleDriver"></property>
<property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:mldn"></property>
<property name="username" value="scott"></property>
<property name="password" value="tiger"></property>
</dataSource>
</environment>
</environments>
<mappers> <!--这是告诉Mybatis去哪找持久化类的映射文件,对于在src下的文件直接写文件名, 如果在某包下,则要写明路径,如:com/mybatistest/config/User.xml-->
<mapper resource="org/myy/entity/personMapper.xml"></mapper>
</mappers>
</configuration>
表-类
映射文件xxMapper.xml:增删改查标签<select>
package org.myy.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; } public Person(int id, String name, int age) { super(); this.id = id; this.name = name; this.age = age; } public Person() { super(); } @Override public String toString() { return this.id+","+this.name+","+this.age; } }
<?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="org.myy.entity.personMapper"><!--映射文件的路径 --> <select id="queryPersonById" parameterType="int" resultType="org.myy.entity.Person"> select * from person where id=#{id} </select> </mapper>
测试类;
session.selectOne("需要查询的sql的namespace的id","SQL的参数值");
package org.myy.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 TestMyBatis { public static void main(String[] args) throws IOException { //加载MyBatis配置文件(访问数据库) Reader reader = Resources.getResourceAsReader("conf.xml"); SqlSessionFactory SessionFactory = new SqlSessionFactoryBuilder().build(reader); //session--connection SqlSession session=SessionFactory.openSession(); String statement="org.myy.entity.personMapper.queryPersonById"; Person person=session.selectOne(statement,1); System.out.println(person); session.close(); } }
原文:https://www.cnblogs.com/mayouyou/p/13190683.html