`
carlosfu
  • 浏览: 584736 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
Ba8b5055-9c58-3ab0-8a1c-e710f0495d2c
BigMemory实战与理...
浏览量:31586
53b2087e-c637-34d2-b61d-257846f73ade
RedisCluster开...
浏览量:151372
C9f66038-7478-3388-8086-d20c1f535495
缓存的使用与设计
浏览量:125784
社区版块
存档分类
最新评论

MyBatis系列目录--2. Mybatis的简单CRUD(含操作视频)

阅读更多

转载请注明出处哈:http://carlosfu.iteye.com/blog/2238662


 

1. 定义sql映射xml文件:

 

playerMapper.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.sohu.tv.mapper.PlayerDao">
    <select id="getPlayerById" parameterType="int" resultType="com.sohu.tv.bean.Player">
        select id,name,age from players where id=#{id}
    </select>
    <insert id="savePlayer" parameterType="com.sohu.tv.bean.Player">
        insert into players(name,age) values(#{name}, #{age});
    </insert>
    <delete id="deletePlayer" parameterType="int">
        delete from players where id=#{id}
    </delete>
    <update id="updatePlayer" parameterType="com.sohu.tv.bean.Player">
        update players set name=#{name},age=#{age} where id=#{id}
    </update>
    <select id="selectAllPlayers" resultType="com.sohu.tv.bean.Player">
        select id,name,age from players
    </select>
</mapper>

2. Dao

package com.sohu.tv.mapper;
import java.util.List;
import com.sohu.tv.bean.Player;
/**
 * 注解方式实现PlayerDao
 * 
 * @author leifu
 * @Date 2015年7月28日
 * @Time 上午10:16:39
 */
public interface PlayerDao {
  
    public int savePlayer(Player player);
   
    public int deletePlayer(int id);
      
    public int updatePlayer(Player player);
      
    public Player getPlayerById(int id);
      
    public List<Player> selectAllPlayers();
}
 

3. 单元测试:

package com.sohu.tv.test.base;
import java.io.IOException;
import java.io.Reader;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.BeforeClass;
/**
 * mybatis测试基类
 * 
 * @author leifu
 * @Date 2015年7月28日
 * @Time 上午10:59:03
 */
public class BaseTest {
    protected static SqlSessionFactory sessionFactory;
    /**
     * mybatis基础配置
     */
    protected final static String MYBATIS_CONF = "mybatis-base.xml";
    @BeforeClass
    public static void setUp() throws IOException {
        Reader reader = Resources.getResourceAsReader(MYBATIS_CONF);
        sessionFactory = new SqlSessionFactoryBuilder().build(reader);
    }
}
package com.sohu.tv.test.mapper;
import java.util.List;
import org.apache.ibatis.session.SqlSession;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import com.sohu.tv.bean.Player;
import com.sohu.tv.mapper.PlayerDao;
/**
 * mybatis-xml方式配置
 * 
 * @author leifu
 * @Date 2015年7月28日
 * @Time 上午9:54:07
 */
public class PlayerMapperXmlTestV2 extends BaseTest {
    private SqlSession sqlSession;
     
    @Before
    public void before() {
        sqlSession = sessionFactory.openSession(true);
    }
     
    @After
    public void after() {
        sqlSession.close();
    }
     
    @Test
    public void testGetPlayer() {
        PlayerDao playerDao = sqlSession.getMapper(PlayerDao.class);
        Player player = playerDao.getPlayerById(2);
        System.out.println(player);
    }
     
    @Test
    public void testInsertPlayer() {
        PlayerDao playerDao = sqlSession.getMapper(PlayerDao.class);
        playerDao.savePlayer(new Player(-1, "cr7", 30));
    }
     
    @Test
    public void testDeletePlayer() {
        PlayerDao playerDao = sqlSession.getMapper(PlayerDao.class);
        playerDao.deletePlayer(3);
    }
    @Test
    public void testUpdatePlayer() {
        PlayerDao playerDao = sqlSession.getMapper(PlayerDao.class);
        playerDao.updatePlayer(new Player(3, "cafu", 45));
    }
     
    @Test
    public void testSelectAllPlayers() {
        PlayerDao playerDao = sqlSession.getMapper(PlayerDao.class);
        List<Player> playerList = playerDao.selectAllPlayers();
        if (playerList != null && !playerList.isEmpty()) {
            System.out.println("playerList size: " + playerList.size());
            for (Player player : playerList) {
                System.out.println(player);
            }
        }
    }
}

4. 操作视频:

 

http://my.tv.sohu.com/us/201734495/81274865.shtml

分享到:
评论

相关推荐

    mybatis-3-config.dtd mybatis-3-mapper.dtd

    在实际应用中,`mybatis-3-config.dtd`通常包含在`mybatis-3.x.x.jar`的META-INF目录下,而`mybatis-3-mapper.dtd`则存在于相同的位置。当解析配置文件时,解析器会根据DTD中的规则检查配置的合法性。因此,正确地...

    MyBatis-Plus 的官方示例(mybatis-plus-samples-master.zip)

    mybatis-plus-sample-crud: 完整 CRUD 示例 mybatis-plus-sample-wrapper: 条件构造器示例 mybatis-plus-sample-pagination: 分页功能示例 mybatis-plus-sample-active-record: ActiveRecord示例 mybatis-plus-...

    mybatis-generator-core-1.3.2.rar

    4. **映射器接口与XML映射文件**:MBG会生成MyBatis的Mapper接口,这些接口包含了常见的CRUD操作。同时,也会生成对应的XML映射文件,里面定义了SQL语句和结果映射。 5. **API**:MBG提供了一组API,允许在运行时...

    mybatis-generator-core-1.3.2.jar 

    Mybatis Generator会根据表结构生成基本的CRUD操作的XML配置。 使用Mybatis Generator的步骤大致如下: 1. **配置**:首先,你需要创建一个XML配置文件,指定数据库连接信息、要逆向生成的表以及一些生成规则。 2...

    mybatis-plus源码(mybatis-plus-3.5.1.tar.gz)

    MyBatis-Plus是MyBatis的扩展框架,它提供了许多高级特性,简化了MyBatis的使用,尤其是在日常开发中对于 CRUD 操作的处理。3.5.1 版本是MyBatis-Plus的一个稳定版本,包含了该框架的核心功能和优化改进。 在源码...

    free-idea-mybatis2020.9.15.rar

    【描述】"free-idea-mybatis2020.9.15" 简单的描述可能意味着这是一个免费的资源,旨在使用户能够利用IntelliJ IDEA的特性来优化MyBatis的开发体验。2020年9月15日可能是该资源的发布日期,或者是与某个更新或活动...

    mybatis-generator-core-1.3.2

    这些代码可以直接集成到项目中,无需手动编写基础的CRUD操作。 Mybatis Generator的其他特性还包括: 1. 支持多种数据库:除了MySQL,Mybatis Generator还兼容Oracle、SQL Server、PostgreSQL等多种关系型数据库。...

    mybatis-generator-core-1.3.5.jar

    MyBatis Generator 可以极大地提高开发效率,特别是在处理大量数据库表时,无需手动编写繁琐的 CRUD(Create, Read, Update, Delete)操作。它通过解析数据库元数据,自动创建相应的 SQL 映射文件、Java 模型类和...

    idea free-idea-mybatis-2019.12.18插件

    首先,MyBatis是一款轻量级的持久层框架,它通过简化SQL操作,使得Java开发者能够更专注于业务逻辑。然而,手动编写和管理Mapper接口、XML配置文件以及实体类之间的关联可能会耗费大量时间。"idea free-idea-mybatis...

    mybatis-generator-1.4.0.rar

    MyBatis Generator(MBG)是一款强大的工具,用于自动生成MyBatis的SQL映射文件、Java模型类和DAO接口。这个工具极大地提高了开发效率,减少了手动编写这些重复性代码的工作。`mybatis-generator-1.4.0.rar` 是一个...

    somedaymail-mybatis-plus--DM-GE-master.zip

    2. **CRUD操作简化**:内置了丰富的 CRUD 方法,使得对数据库的基本操作变得极其简单,如:insert、insertBatch、updateById、deleteById 等。 3. **条件构造器**:通过 QueryWrapper、LambdaQueryWrapper 等工具类...

    cmd命令生成mybatis-generator-core-1.3.2.jar自动生成dao,mapper,model文件示例

    这些代码包括了对数据库的CRUD操作,以及对应的Mapper XML文件,Model实体类等。在1.3.2版本中,MBG已经相当成熟,支持多种数据库和自定义配置。 要使用CMD命令行生成这些文件,你需要完成以下步骤: 1. **环境...

    free-mybatis-plugin-2021.03.03

    同时,它还支持自动生成CRUD操作的Java方法,大大减少了手动编写代码的工作量。 2. 动态SQL高亮与格式化:插件对MyBatis的动态SQL语句进行了专门优化,使得动态元素如`&lt;if&gt;`、`&lt;choose&gt;`、`&lt;when&gt;`等在IDEA中能够...

    mybatis-plus-doc-master.zip

    MyBatis-Plus 是 MyBatis 的一个扩展,它简化了 CRUD 操作,提供了丰富的查询API,使得数据库操作更加便捷。这份"mybatis-plus-doc-master.zip"压缩包包含的是 MyBatis-Plus 的官方文档,对于理解和使用这个框架非常...

    mybatis-generator-gui-master.zip

    - **Mapper Interface Generator**:生成 MyBatis 的 Mapper 接口,这些接口包含了各种 CRUD 操作方法。 - **XML Mapper File Generator**:生成 XML 映射文件,其中包含具体的 SQL 语句。 5. **MBG GUI 版本**:...

    mybatis-redis-1.0.0-beta1.zip

    4. 在代码中调用MyBatis的CRUD操作,系统会自动处理缓存的读写。 通过以上步骤,开发者可以轻松地在MyBatis项目中引入Redis作为二级缓存,提升系统的整体性能。需要注意的是,合理地设计缓存策略和粒度,避免因缓存...

Global site tag (gtag.js) - Google Analytics