Mybatis学习记录

一、根据xml配置建立一个sqlsessionfactory的对象
 有数据源的一些运行环境信息
 二、sql映射文件,配置了每个sql,以及sql的封装规则
 三、将sql注册在全局配置文件中
四、coding
 1)根据全局配置文件获得SqlsessionFactory
 2)试用sqlsession工厂,获取到sqlsession对象试用它来执行增删改查
 一个sqlsession就是表明与数据库的一次对话,用完关闭(close)
 3)使用sql惟一标识该告诉mybatis执行哪一个sql,sql都是保存在sql映射文件中sql

 

 

 

 

String resource = "mybatis-config.xml";数据库

InputStream inputStrem = Resource.getResoureceAsStream(resource);session

SqlsessionFactory sessionFactory = new SqlSessionFactoryBuilder().Builder(resource);//获取sqlsessionfactory对象mybatis

 SqlSession opensession = sessionFactory.openSession();//使用opensession方法获取sqlsession对象oracle

 

加载数据库信息-->建立sqlsession工厂-->用OpenSession()方法建立sqlsession,每一个sqlsession都是一个数据库查询实例app

//获取接口的实现类对象
//会为接口自动的建立一个代理对象,代理对象去执行增删改查方法ui


EmployeeMapper mapper = opensession.getMapper(EmployeeMapper.class);//获取接口的实现类对象
Employee empById = mapper.getEmpById(1);//调用接口的方法
System.out.println(mapper.getClass());
System.out.println(empById);代理

 

 传多个参数时候须要加上@Param(“xx”)。xml

用注解来简化xml配置的时候,@Param注解的做用是给参数命名,参数命名后就能根据名字获得参数值,正确的将参数传入sql语句中 对象

 

 jdbc oracle

 

 mybatis 在接口类中传参

 

 

#{}和${}的区别:

我的理解就是#{}防止sql注入 

${}用于处理sql语句中动态填入的部分,例如某个图书的info表 书名_info_tbl,这时候书名就该直接拼接进来。又以下图样例中年份工资表和排序规则。无法sql预编译,只能拼接。

 

相关文章
相关标签/搜索