mybatis基本操作

it2023-10-08  65

计算机----计算-----数据 i/o-------file

RDBMS sql-----数据库软件-------file | sqlplus jdbc java ------- RDBMS

jdbc: 1. 加载驱动 Class.forName 2. 创建COnnection DriverManager.getConnect DriudDataSourceFactory.create… 3. 创建statement createStatement/preparedStatement 4. 执行sql stmt.execute… 5. 处理结果 while(rs.next()) 6. 关闭资源。 close

class IRegionDao{ List<Region> selectAll(); int saveRegion(Region r); } class RegionDaoImpl implements IRegionDao{ public List<Region> selectAll(){ QueryRunner qr = new QueryRunner(); Connection conn = getConnection(); qr.query(conn,sql,BeanListResultHanlder,) } public int saveRegion(Region r){ QueryRunner qr = new QueryRunner(); Connection conn = getConnection(); insert into s_region(id,name) values(r.getId(),r.getName()); qr.update(conn,sql) } }

关系模型: 二维关系表,实体: 行 列 行:一条记录,一条信息,一个元组,一个实体数据。

面向对象的编程: 数据 ---- 对象 抽象对象所具有的共有特征和行为, class Region{ private int id; private String name; }

Object Relationship ORM 对象 表–关系

class SqlHandler{ Object handler(String action,String sql,Object[] params,Class resultType){ QueryRunner qr = new QueryRunner(); Connection conn = getConnection(); Object result = null; if(action.equals("select")){ result = qr.query(conn,sql,new BeanListResultHanlder,param) }else{ result = qr.update(conn,sql,param); } return result; } }

mybatis: jdbc封装。持久层~ ORM mybatis-x.x.x.jar Object -------- Table

1. 导入依赖包。 普通java工程: mybatis-x.x.x.jar maven: pom.xml <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>x.x.x</version> </dependency> 2. 数据源的配置。----》 mybatis-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:xe" /> <property name="username" value="briup" /> <property name="password" value="briup" /> </dataSource> </environment> </environments> </configuration> 3. SqlSessionFactory SqlSessionFactory sf = new SqlSessionFactoryBuilder().build( Resources.getResourceAsStream("mybatis-config.xml")); 4. Mapper文件的配置 ----》 持久层方法和sql语句,以及对象等关系的映射。 <?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.briup.basic.IRegionDao"> <select id="selectAll" resultType="com.briup.basic.Region"> select id,name from s_region </select> </mapper> 5. 将mapper文件配置在config文件中,让mybatis获取到这个映射信息。 <configuration> <environments> ....datasource </environments> <mappers> <mapper resource="mapper.xml"/> </mappers> </configuration> 6.创建SqlSession对象。 SqlSession session = sqlSessionFactory.openSession(); 7. 通过SqlSession对象获取,mybatis自动生成的持久层实现对象(Mapper) IRegionDao dao = session.getMapper(IRegionDao.class); 8. 调用持久化方法执行。 9. 事务处理。 session.commit(); 10. 关闭资源。 session.close();
最新回复(0)