Mybatis操作顺序
1.导入Mybatis的jar包
2.创建一个全局配置文件 mybatis-config.xml, 根据全局配置文件,创建一个SqlSessionFactory
3.创建一个sql映射文件,EmployeeMapper.xml,该配置文件中配置了sql语句
4.将sql映射文件注册到全局配置文件中
5.从SqlSessionFactory中获取SqlSession对象,sqlSession代表和数据库的一次对话 。然后调用selectOne(“sql语句唯一的标识”,执行sql的参数)完成查询操作。
6.最后将SqlSession对象关闭,释放资源。
需要注意的一些配置文件
几乎不变的配置
1.db.properties
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis_01?characterEncoding=utf8
jdbc.username=root
jdbc.password=root
2.mybatiis-config.xml
3.测试中SQL的链接,获取
@Test
public void testMybatis() throws IOException{
//创建SqlSessionFactory
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
//获取SqlSession对象
SqlSession session = sqlSessionFactory.openSession();
xml文件
1.properties:Mybatis 可以用properties来引入外部properties类型的文件
resource:引入类路径下的资源
url :引入网络路径或者磁盘路径下的资源
2.settings :包含了很多重要设置
setting :用来设置每一个设置项
name :设置项的名称
value: 设置项的值
3. 自动映射下划线到驼峰名
DB: last_name autoMapping lastName
<settings>
<!-- 自动映射下划线到驼峰名 DB: last_name autoMapping lastName -->
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
4.typeAliases:别名处理,为java,类型注册别名
typeAlias:为某个java类指定别名
type:指定java的类型(报名+类名)
alias:指定具体的别名,如果alias不显示的指定,则默认的别名是类名的首字母小写
别名不区分大小写
5.environment:环境们 。 使用default来制定具体的使用环境。
environment:配置具体的环境
id: 当前环境的标识
transactionManager::事物管理器
type:配置具体的事物管理器的类型
JDBC:JdbcTransactionFactory.class
MANAGED: ManagedTransactionFactory.class
最终:事务管理要交给Spring。使用Spring的声明事务
dataSource:数据库
type:执行数据源的类型
UNPOOLED:不使用连接池
POOLED:使用连接池
JNDI:从web服务器中获取数据源
最终:数据源交给Spring管理
6.mappers:引入sql映射文件、
mapper:引入单个的sql映射文件
resource:引入类路径下的sql映射文件
url:引入网络路径或者磁盘路径下的sql映射文件
package:批量引入sql映射文件
要求:
1.sql映射文件的名字与mapper接口的名字一样
2.sql映射文件与mapper接口必须在同一目录下
name:指定包名
映射文件注意项
1.<!-- namespace:命名 如果不用mapper接口开发,namespace可以随便写 如果使用的mapper接口开发,nameSpace必须制定成接口的全类名 目的是将mapper接口与sql映射文件绑定 --> <mapper namespace="com.mybatis_01.dao.EmployeeMapper">
2.select:配置查询的sql语句 id:sql语句的唯一表示 resultType:当前sql查询到的想让Mybatis封装的javaBean对象的类型
#{id}: 从传递过来的参数中取出id值
3.
4.对于自增主键的数据库,只需要设置两个书就行即可
parameterType:制定参数的类型,可以省略不写
#{lastName}:从传入的Employee类型的参数中取出对应的值
5.