用mybatis开发sql怎么写
2个回答
展开全部
用Spring框架,在applicationContext.xml文件里配置以下内容:
<!-- 读取db.properties文件的内容 -->
<util:properties id = "jdbc" location = "classpath:db.properties"/>
<!-- 配置DataSource -->
<bean id = "ds" class = "org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value = "#{jdbc.driver}"/>
<property name="url" value = "#{jdbc.url}"/>
<property name="username" value = "#{jdbc.user}"/>
<property name="password" value = "#{jdbc.pwd}"/>
</bean>
<!-- 配置SqlSessionFactoryBean -->
<bean class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 注入DataSource -->
<property name="dataSource" ref="ds"/>
<!-- 注入映射文件的位置信息 -->
<property name="mapperLocations" value="classpath:com/tarena/oss/entity/*.xml"/>
</bean>
<!--
配置MapperSourceConfigurer:
扫描制定包下面所有的类,
创建符合Mapp接口要求的对象,
并且会将创建好的对象放到spring容器里面
-->
<bean class = "org.mybatis.spring.mapper.MapperScannerConfigurer">
<!-- 注入要扫描的包名 -->
<property name="basePackage" value = "com.tarena.oss.dao"/>
</bean>
其中,要导入的包有:
mybatis-3.2.5.jar
mybatis-spring-1.2.2.jar
写好实体类之后,在创建一个mapper.xml文件。
注:实体类的属性名一定要和表的字段名一致。在mapper.xml映射文件里写sql语句。格式为:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"
"http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd">
<mapper namespace="dao的路径名">
<!--
查询。
parameterType:如果返回值是一个整数,标准用法是java.lang.Integer,
可以简写为"int"。
-->
<select id = "和dao里面的方法名一致" parameterType="参数类型"
resultType="com.tarena.oss.entity.Admin">
查询的sql语句
</select>
<!--
使用resultMap来解决实体类的属性名,与表的字段名不一致的情况。
type属性: 实体类的名字。
property属性: 实体类的属性名。
column属性: 表的字段名。
注:如果属性名与字段名一样,就不用写了。
-->
</mapper>
其他语句在<mapper></mapper>里写,方法和select一样。
希望可以帮到你!
<!-- 读取db.properties文件的内容 -->
<util:properties id = "jdbc" location = "classpath:db.properties"/>
<!-- 配置DataSource -->
<bean id = "ds" class = "org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value = "#{jdbc.driver}"/>
<property name="url" value = "#{jdbc.url}"/>
<property name="username" value = "#{jdbc.user}"/>
<property name="password" value = "#{jdbc.pwd}"/>
</bean>
<!-- 配置SqlSessionFactoryBean -->
<bean class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 注入DataSource -->
<property name="dataSource" ref="ds"/>
<!-- 注入映射文件的位置信息 -->
<property name="mapperLocations" value="classpath:com/tarena/oss/entity/*.xml"/>
</bean>
<!--
配置MapperSourceConfigurer:
扫描制定包下面所有的类,
创建符合Mapp接口要求的对象,
并且会将创建好的对象放到spring容器里面
-->
<bean class = "org.mybatis.spring.mapper.MapperScannerConfigurer">
<!-- 注入要扫描的包名 -->
<property name="basePackage" value = "com.tarena.oss.dao"/>
</bean>
其中,要导入的包有:
mybatis-3.2.5.jar
mybatis-spring-1.2.2.jar
写好实体类之后,在创建一个mapper.xml文件。
注:实体类的属性名一定要和表的字段名一致。在mapper.xml映射文件里写sql语句。格式为:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"
"http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd">
<mapper namespace="dao的路径名">
<!--
查询。
parameterType:如果返回值是一个整数,标准用法是java.lang.Integer,
可以简写为"int"。
-->
<select id = "和dao里面的方法名一致" parameterType="参数类型"
resultType="com.tarena.oss.entity.Admin">
查询的sql语句
</select>
<!--
使用resultMap来解决实体类的属性名,与表的字段名不一致的情况。
type属性: 实体类的名字。
property属性: 实体类的属性名。
column属性: 表的字段名。
注:如果属性名与字段名一样,就不用写了。
-->
</mapper>
其他语句在<mapper></mapper>里写,方法和select一样。
希望可以帮到你!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询