Mybatis的SqlMapConfig文件
来源:互联网 发布:sarah lynn 知乎 编辑:程序博客网 时间:2024/06/05 14:07
Mybatis的配置文件的结构
properties
可以将一些配置文件单独的写在属性properties文件中,例如数据库连接的一些信息
第一种引用外部的属性文件
#db.propertiesjdbc.username=rootjdbc.password=yzgylqjdbc.url=jdbc:mysql://localhost:3306/mybatisjdbc.driver=com.mysql.jdbc.Driver
<!--SqlMapConfig的配置--><properties resource="db.properties"></properties> <environments default="default"> <environment id="default"> <transactionManager type="JDBC"></transactionManager> <!--mybatis的数据库连接池默认是什么--> <dataSource type="POOLED"> <property name="driver" value="${jdbc.driver}"/> <property name="username" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> <property name="url" value="${jdbc.url}"/> </dataSource> </environment> </environments>
第二种在properties标签里面进行配置
<properties> <property name="jdbc.username" value="root"/> <property name="jdbc.password" value="yzgylq"/> <property name="jdbc.url" value="jdbc:mysql://localhost:3306/mybatis"/> <property name="jdbc.driver" value="com.mysql.jdbc.Driver"/> </properties> <environments default="default"> <environment id="default"> <transactionManager type="JDBC"></transactionManager> <!--mybatis的数据库连接池默认是什么--> <dataSource type="POOLED"> <property name="driver" value="${jdbc.driver}"/> <property name="username" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> <property name="url" value="${jdbc.url}"/> </dataSource> </environment> </environments>
注意加载属性的顺序
- 在 properties 元素体内定义的属性首先被读取。
- 然后会读取properties 元素中resource或 url 加载的属性,它会覆盖已读取的同名属性。
- 最后读取parameterType传递的属性,它会覆盖已读取的同名属性(不过此时使用的应该是${}而不是#{})。
针对第三点的一个例子
在SqlMapConfig中定义了如下的properties属性
<properties> <property name="jdbc.username" value="root"/> <property name="jdbc.password" value="yzgylq"/> <property name="jdbc.url" value="jdbc:mysql://localhost:3306/mybatis"/> <property name="jdbc.driver" value="com.mysql.jdbc.Driver"/> <property name="id" value="40"/> </properties>
在userMapper中就可以这样获取id的值,用于根据id查询
<mapper namespace="test" > <select id="findUserById" parameterType="int" resultType="com.njust.ml.po.User"> select * from user where id = ${id} </select></mapper>
在java程序中,就可以不传递给finduserById第二个参数
@Override public User findUserById() { SqlSession sqlSession = sqlSessionFactory.openSession(); User user = sqlSession.selectOne("test.findUserById"); sqlSession.close(); return user; }
settings设置
这个里面的配置,可以改变Mybatis的运行时行为,一般不需要改动
typeAliases
类型别名,会简化java的完全限定名
第一种,逐个手动添加
<typeAliases> <typeAlias type="com.njust.ml.po.User" alias="user"/> </typeAliases>
缺点:如果有很多的类需要有别名,那么配置起来就是一大串,显得很不方便
第二种,包扫描添加
<typeAliases> <package name="com.njust.ml.po"/> </typeAliases>
使用包扫描的时候,指定包名即可,别名为类名(首字母大写或小写均可)
typeHandlers
无论是Mybatis在预处理语句(PreparedStatement)中设置一个参数时,还是从结果集中取出一个值时,都会使用类型处理器将获取的值以合适的方式转换为java类型
mybatis已经提供了一些转换器,例如:
java类型 JDBC类型int(Integer) Numeric或者IntegerLong Numeric或者Long IntegerBigDecimal Numeric或者decimal
mappers
加载mapper映射器
第一种使用类路径查找资源文件
<mappers> <mapper resource="mapper/UserMapper.xml"></mapper> <mapper resource="mapper/usermapper_proxy.xml"></mapper> </mappers>
第二种使用本地文件
<mappers> <mapper url="file:///C:/mapper/UserMapper.xml"></mapper> </mappers>
第三种使用接口类
<!--要求userdao这个接口必须与userdao.xml同名并且在一个包路径下--> <mappers> <mapper class="com.njust.ml.dao.UserDao"></mapper> </mappers>
第四种方法
针对第三种方法的改进,类似于typeAliases中的问题,如果mapper接口过多,那么会显得异常繁琐,所以可以采用扫描的方式
<mappers> <package name="com.njust.ml.dao"/> </mappers>
与上面的要求是一样的,也要求mapper接口与mapper.xml同名并且在同一个包下
阅读全文
1 0
- Mybatis的SqlMapConfig文件
- MyBatis数据库连接的配置SQLMapConfig.xml文件
- SqlMapConfig.xml文件配置 mybatis
- mybatis的SqlMapConfig.xml文件的详细配置
- [mybatis]全局文件SqlMapConfig.xml配置详解
- 【Mybatis】(四)详解SqlMapConfig.xml文件
- mybatis中SqlMapConfig文件配置(六)
- mybatis的sqlMapConfig的settings设置
- mybatis 的SqlMapConfig.xml配置文件(精华) 小结
- 【SSM-MyBatis框架】SqlMapConfig.xml的配置
- 【SSM-MyBatis框架】SqlMapConfig.xml的配置
- MyBatis的SqlMapConfig.xml配置文件详解
- Mybatis的SqlMapConfig.xml配置文件模板
- Mybatis的sqlMapConfig.xml中mappers标签
- mybatis的全局配置文件SqlMapConfig.xml
- SqlMapConfig.xml --- 在spring配置文件中自动加载的mybatis文件
- SqlMapConfig.xml---在spring配置文件中自动加载的mybatis文件
- 【SpringMVC+mybatis】7.mybatis SqlMapConfig.xml文件详解
- 网络协议笔记(一)
- 数据库连接错误(A ResourcePool could not acquire a resource from its primary factory or sour)
- Python 进阶学习(格式没有细调)
- Linux中格式化和挂载数据盘
- Mac突然连不上WiFi解决步骤
- Mybatis的SqlMapConfig文件
- 一次上传多张图片
- Dagger2教程五之单例模式(原)
- 如何实现文件自动复制与转移
- 解决Android studio被墙问题
- oracle.jdbc.driver.OracleDriver 没加加载oracle驱动
- Kafka剖析:Kafka背景及架构介绍
- 字符串操作总结
- 数据保存位置