首页 > 代码库 > MyBatis入门案例 增删改查
MyBatis入门案例 增删改查
一、MyBatis入门案例:
①:引入jar包
②:创建实体类 Dept,并进行封装
③ 在Src下创建大配置mybatis-config.xml
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><typeAliases><typeAlias type="cn.happy.entity.Dept" alias="Dept"/></typeAliases><environments default="development"> <environment id="development"> <transactionManager type="JDBC" /> <dataSource type="POOLED"> <property name="driver" value="http://www.mamicode.com/oracle.jdbc.OracleDriver" /> <property name="url" value="http://www.mamicode.com/jdbc:oracle:thin:@localhost:1521:orcl" /> <property name="username" value="http://www.mamicode.com/wj" /> <property name="password" value="http://www.mamicode.com/9090" /> </dataSource> </environment> </environments> <!--映射文件:描述某个实体和数据库表的对应关系 --> <mappers> <mapper resource="cn/happy/entity/Dept.xml" /> <mapper resource="cn/happy/entity/Mapper.xml" /> </mappers></configuration>
注:其中的几个常用元素作用如下:
environments元素:用于配置多个数据环境,可映射多个数据库信息
在MyBatis中有两种事务管理器类型(即type="JDBC/MANAGED")
JDBC:直接使用了JDBC控制事务
MANAGED:MyBatis自己不负责控制事务,它会让容器来管理事务的整个生命周期
数据源类型有三种:UNPOOLED、POOLED、JNDI
①UNPOOLED:这个数据源的实现是每次被请求时简单打开和关闭连接。
②POOLED:采用连接池以避免创建新的连接实例时必要的初始连接和认证时间
③JNDI:为了使用如Spring或应用服务器这类的容器
mappers元素:包含所有mapper的列表。告诉MyBatis到哪里去找SQL语句。主要是定义Sql映射文件
④:创建小配置 Dept.xml
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="cn.happy.entity.Dept"><!-- 查询 --><select id="selectDept" resultType="Dept">select * from Dept</select>
注:id:唯一标识:通过此id,程序可唯一锁定一条SQL 、parameterType:参数类型、resultType:结果类型
⑤测试类:进行查询所有部门
public class Test1 { SqlSession session ; @Before public void initData() throws Exception{ SqlSessionFactoryBuilder builder=new SqlSessionFactoryBuilder(); Reader reader=new FileReader("src/mybatis-config.xml"); SqlSessionFactory factory=builder.build(reader); session = factory.openSession(); } /* * 查询 */ @Test public void selectDeptTest() throws Exception{ List<Dept> selectList = session.selectList("selectDept"); for (Dept dept : selectList) { System.out.println(dept.getDeptName()); } }
二、同理 增、删、改
如图所示:
因为在大配置中有别名的使用。参数类型设置成Dept即可
三、使用selectOne()方法【带条件查询】
通过编号来查询部门信息
四、session.getMapper()方法的实现
获取到接口的具体实现类
注:使用接口编程需要注意:namespace需要定义为接口的全限定名。映射语句的id配置需要与接口中的方法名相同
MyBatis入门案例 增删改查
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。