ram rop val 集成 apple ring lang root
参考博客:http://www.cnblogs.com/magialmoon/archive/2013/10/30/3397828.html
- <dependency>
- <groupId>
- org.mybatis
- </groupId>
- <artifactId>
- mybatis
- </artifactId>
- <version>
- 3.2.3
- </version>
- </dependency>
- <dependency>
- <groupId>
- mysql
- </groupId>
- <artifactId>
- mysql-connector-java
- </artifactId>
- <version>
- 5.1.26
- </version>
- </dependency>
CREATE TABLE `t_migu_top_data` (
`music_id` int(11) DEFAULT NULL,
`music_name` varchar(100) DEFAULT NULL,
`music_author` varchar(100) DEFAULT NULL,
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
mybatis-config.xml
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
- <configuration>
- <settings>
- <!-- changes from the defaults for testing -->
- <setting name="cacheEnabled" value="false" />
- <setting name="useGeneratedKeys" value="true" />
- <setting name="defaultExecutorType" value="REUSE" />
- </settings>
- <typeAliases>
- <typeAlias alias="TopData" type="com.cmcc.top.mysql.entity.TopData"></typeAlias>
- </typeAliases>
- <environments default="development">
- <environment id="development">
- <transactionManager type="JDBC"></transactionManager>
- <dataSource type="POOLED">
- <property name="driver" value="com.mysql.jdbc.Driver" />
- <property name="url" value="jdbc:mysql://172.23.28.57:3306/top?useUnicode=true&characterEncoding=UTF-8" />
- <property name="username" value="root" />
- <property name="password" value="*****" />
- </dataSource>
- </environment>
- </environments>
- <mappers>
- <mapper resource="sqlMap/TopDataMapper.xml"/>
- </mappers>
- </configuration>
TopDataMapper.xml
- <?xml version="1.0" encoding="UTF-8" ?>
- <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
- <mapper namespace="com.cmcc.top.mysql.dao.TopDataDao">
- <sql id="tablename">t_migu_top_data</sql>
- <sql id="Base_Column_List">
- music_id,
- music_name,
- music_author
- </sql>
- <resultMap id="BaseResultMap" type="com.cmcc.top.mysql.entity.TopData">
- <result column="music_id" property="musicId" jdbcType="VARCHAR" />
- <result column="music_name" property="musicName" jdbcType="VARCHAR" />
- <result column="music_author" property="musicAuthor" jdbcType="VARCHAR" />
- </resultMap>
- <insert id="createTopData" useGeneratedKeys="true" keyProperty="id" parameterType="com.cmcc.top.mysql.entity.TopData" >
- insert into <include refid="tablename" />
- (
- music_id,
- music_name,
- music_author
- )
- values
- (
- #{musicId},
- #{musicName},
- #{musicAuthor}
- )
- </insert>
- <insert id="createTopDataByBatch" parameterType="java.util.List" >
- insert into <include refid="tablename" />
- (
- music_id,
- music_name,
- music_author
- )
- values
- <foreach collection="list" item="item" index="index" separator="," >
- (
- #{item.musicId},
- #{item.musicName},
- #{item.musicAuthor}
- )
- </foreach>
- </insert>
- <select id="getTopDataList" parameterType="java.util.Map" resultMap="BaseResultMap" >
- select <include refid="Base_Column_List" />
- from
- <include refid="tablename" />
- <where>
- <if test="musicId !=null " >
- and music_id = #{musicId}
- </if>
- <if test="musicName != null">
- and music_name like '%${musicName}%'
- </if>
- <if test="musicAuthor != null">
- and music_author like '%${musicAuthor}%'
- </if>
- <if test="musicLanguage != null">
- and music_language = #{musicLanguage}
- </if>
- <if test="musicStyle != null">
- and music_style = #{musicStyle}
- </if>
- <if test="startDate != null">
- and create_time >= '${startDate}'
- </if>
- <if test="endDate != null">
- and '${endDate}' >= create_time
- </if>
- </where>
- </select>
- <update id="updateTopData" parameterType="com.cmcc.top.mysql.entity.TopData" >
- update <include refid="tablename" />
- <set>
- <if test="musicStatus != null">
- music_status = #{musicStatus},
- </if>
- <if test="customerFilePath != null">
- customer_file_path = #{customerFilePath},
- </if>
- </set>
- where music_id = #{musicId}
- </update>
- </mapper>
- public class TopData {
- private String musicId;
- private String musicName;
- private String musicAuthor;
- ...
- }
- public interface TopDataDao {
- public void createTopData(TopData topData);
- public voidcreateTopDataByBatch(List topDataList);
- public void updateTopData(TopData topData);
- //public void updateTopDataByBatch(List<TopData> topDataList);
- publicList getTopDataList(Map queryMap);
- }
- public class TopDataManager {
- private static SqlSession sqlSession;
- private static TopDataDao topDataDao;
- public static void initialConnection() {
- try{
- String resource = "mybatis-config.xml";
- Reader reader = Resources.getResourceAsReader(resource);
- SqlSessionFactory ssf =new SqlSessionFactoryBuilder().build(reader);
- sqlSession = ssf.openSession();
- topDataDao = sqlSession.getMapper(TopDataDao.class);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- public static void destroyConnection() {
- sqlSession.close();
- }
- public static void createTopData(TopData topData) {
- topDataDao.createTopData(topData);
- sqlSession.commit();
- }
- public static voidcreateTopDataByBatch(List topDataList) {
- topDataDao.createTopDataByBatch(topDataList);
- sqlSession.commit();
- }
- public static void updateTopData(TopData topData) {
- topDataDao.updateTopData(topData);
- sqlSession.commit();
- }
- public staticList getTopDataList(Map queryMap) {
- return topDataDao.getTopDataList(queryMap);
- }
- }
main 方法访问即可
1、mybatis 会用 log4j 记录日志,但是开启 debug 模式貌似对性能影响非常厉害。
2、mybatis 的查询缓存对性能的影响非常大,启用和不启用差距非常大
注意:mapper 文件中一定要加上 cache 这一行,否则不生效。
JAVA 应用程序单独集成 Mybatis 使用 Demo
来源: http://www.bubuko.com/infodetail-2033919.html