全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

mybatis实现增删改查_动力节点Java学院整理

所需要用到的其他工具或技术:

项目管理工具 : Maven

测试运行工具 : Junit

数据库 : Derby

Maven Dependencies:

<dependencies> 
    <dependency> 
      <groupId>org.mybatis</groupId> 
      <artifactId>mybatis</artifactId> 
      <version>3.2.7</version> 
    </dependency> 
    <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>4.9</version> 
      <scope>test</scope> 
    </dependency> 
    <dependency> 
      <groupId>org.apache.derby</groupId> 
      <artifactId>derby</artifactId> 
      <version>10.10.2.0</version> 
    </dependency> 
    <dependency> 
      <groupId>org.apache.derby</groupId> 
      <artifactId>derbyclient</artifactId> 
      <version>10.10.2.0</version> 
    </dependency> 
  </dependencies> 

SQL 建表及数据插入(沿用前两节中的数据库表及数据):

CREATE TABLE USER_TEST_TB(  
ID INT PRIMARY KEY,  
USERNAME VARCHAR(20) NOT NULL,  
PASSWORD VARCHAR(20) NOT NULL,  
NICKNAME VARCHAR(20) NOT NULL  
);    
INSERT INTO USER_TEST_TB VALUES(1,'1st','111','Jack');  
INSERT INTO USER_TEST_TB VALUES(2,'2nd','222','Rose');  
INSERT INTO USER_TEST_TB VALUES(3,'3rd','333','Will');  

Mybatis配置文件 src/main/resource源目录下

test-mybatis-configuration.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> 
  <properties> 
    <property name="driver" value="org.apache.derby.jdbc.ClientDriver" /> 
    <property name="url" 
      value="jdbc:derby://localhost:1527/bjpowernode;create=true" /> 
  </properties> 
  <environments default="development"> 
    <environment id="development"> 
      <transactionManager type="JDBC" /> 
      <dataSource type="POOLED"> 
        <property name="driver" value="${driver}" /> 
        <property name="url" value="${url}" /> 
      </dataSource> 
    </environment> 
  </environments> 
  <mappers> 
    <mapper resource="com/bjpowernode/practice/UserMapper.xml" / 
  </mappers> 
</configuration>  

 User.java对象类(src/main/java/com/bjpowernode/practice目录下)

package com.bjpowernode.practice;  
public class User 
{ 
  private Integer id; 
  private String username; 
  private String password; 
  private String nickname; 
  public Integer getId() 
  { 
    return id; 
  } 
  public void setId(Integer id) 
  { 
    this.id = id; 
  } 
  public String getUsername() 
  { 
    return username; 
  } 
  public void setUsername(String username) 
  { 
    this.username = username; 
  } 
  public String getPassword() 
  { 
    return password; 
  } 
  public void setPassword(String password) 
  { 
    this.password = password; 
  } 
  public String getNickname() 
  { 
    return nickname; 
  } 
  public void setNickname(String nickname) 
  { 
    this.nickname = nickname; 
  } 
} 

UserMapper.xml  Mapper文件(src/main/java/com.bjpowernode.practice目录下)

<?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.bjpowernode.practice.UserMapper"> 
  <!-- 查询 --> 
  <select id="getUser" resultType="com.bjpowernode.practice.User"> 
    select * 
    from USER_TEST_TB 
  </select> 
  <!-- 插入 --> 
  <insert id="insertUser"> 
    insert into  
      USER_TEST_TB  
    values(#{id},#{username},#{password},#{nickname}) 
  </insert> 
  <!-- 更改 --> 
  <update id="updateUser"> 
    update USER_TEST_TB set 
      USERNAME = #{username}, 
      PASSWORD = #{password}, 
      NICKNAME = #{nickname} 
    where ID = #{id} 
  </update> 
  <!-- 删除 --> 
  <delete id="deleteUser"> 
    delete from USER_TEST_TB WHERE ID=#{id} 
  </delete> 
</mapper>  

UserMapper.java Mapper类(src/main/java/com.bjpowernode.practice目录下)

package com.bjpowernode.practice; 
import java.util.List; 
public interface UserMapper 
{ 
  public List<User> getUser(); 
  public void insertUser(User user); 
  public void updateUser(User user); 
  public void deleteUser(int userId); 
} 

测试类TestMyBatis.java(src/test/java/com.bjpowernode.practice目录下)

package com.bjpowernode.practice;  
import java.io.InputStream; 
import java.text.MessageFormat; 
import java.util.List; 
import org.apache.ibatis.session.SqlSession; 
import org.apache.ibatis.session.SqlSessionFactory; 
import org.apache.ibatis.session.SqlSessionFactoryBuilder; 
import org.junit.Before; 
import org.junit.Test; 
public class TestMyBatis 
{ 
  private String source; 
  private InputStream inputStream; 
  private SqlSessionFactory sqlSessionFactory; 
  @Before 
  public void setUp() 
  { 
    /** 
     * 准备Mybatis运行环境 
     */ 
    source = "test-mybatis-configuration.xml"; 
    inputStream = TestMyBatis.class.getClassLoader().getResourceAsStream(source); 
    sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); 
  } 
  @Test 
  public void testGet() 
  { 
    try 
    { 
      // 获取Session连接 
      SqlSession session = sqlSessionFactory.openSession(); 
      // 获取Mapper 
      UserMapper userMapper = session.getMapper(UserMapper.class); 
      // 显示User信息 
      System.out.println("Test Get start..."); 
      this.printUsers(userMapper.getUser()); 
      System.out.println("Test Get finished..."); 
    } 
    catch (Exception e) 
    { 
      e.printStackTrace(); 
    } 
  } 
  @Test 
  public void testInsert() 
  { 
    try 
    { 
      // 获取Session连接 
      SqlSession session = sqlSessionFactory.openSession(); 
      // 获取Mapper 
      UserMapper userMapper = session.getMapper(UserMapper.class); 
      System.out.println("Test insert start..."); 
      // 显示插入之前User信息 
      System.out.println("Before insert"); 
      this.printUsers(userMapper.getUser()); 
      // 执行插入 
      userMapper.insertUser(this.mockUser("FREU_INS_USER", "BJPOWERNODE_INS_PASS", "BJPOWERNODE_INS_NICK")); 
      // 提交事务 
      session.commit(); 
      // 显示插入之后User信息 
      System.out.println("\r\nAfter insert"); 
      this.printUsers(userMapper.getUser()); 
      System.out.println("Test insert finished..."); 
    } 
    catch (Exception e) 
    { 
      e.printStackTrace(); 
    } 
  } 
  @Test 
  public void testUpdate() 
  { 
    try 
    { 
      // 获取Session连接 
      SqlSession session = sqlSessionFactory.openSession(); 
      // 获取Mapper 
      UserMapper userMapper = session.getMapper(UserMapper.class); 
      System.out.println("Test update start..."); 
      // 显示更新之前User信息 
      System.out.println("Before update"); 
      this.printUsers(userMapper.getUser()); 
      // 执行更新 
      userMapper.updateUser(this.mockUser("FREU_UPD_USER", "BJPOWERNODE_UPD_PASS", "BJPOWERNODE_UPD_NICK")); 
      // 提交事务 
      session.commit(); 
      // 显示更新之后User信息 
      System.out.println("\r\nAfter update"); 
      this.printUsers(userMapper.getUser()); 
      System.out.println("Test update finished..."); 
    } 
    catch (Exception e) 
    { 
      e.printStackTrace(); 
    } 
  } 
  @Test 
  public void testDelete() 
  { 
    try 
    { 
      // 获取Session连接 
      SqlSession session = sqlSessionFactory.openSession(); 
      // 获取Mapper 
      UserMapper userMapper = session.getMapper(UserMapper.class); 
      System.out.println("Test delete start..."); 
      // 显示删除之前User信息 
      System.out.println("Before delete"); 
      this.printUsers(userMapper.getUser()); 
      // 执行删除 
      userMapper.deleteUser(this.mockUser(null, null, null).getId()); 
      // 提交事务 
      session.commit(); 
      // 显示删除之后User信息 
      System.out.println("\r\nAfter delete"); 
      this.printUsers(userMapper.getUser()); 
      System.out.println("Test delete finished..."); 
    } 
    catch (Exception e) 
    { 
      e.printStackTrace(); 
    } 
  } 
  /** 
   * 
   * 组装一个User对象 
   * 
   * @return 
   */ 
  public User mockUser(String username, String password, String nickname) 
  { 
    User user = new User(); 
    user.setId(10); 
    user.setUsername(username); 
    user.setPassword(password); 
    user.setNickname(nickname); 
    return user; 
  } 
  /** 
   * 
   * 打印用户信息到控制台 
   * 
   * @param users 
   */ 
  private void printUsers(final List<User> users) 
  { 
    int count = 0; 
    for (User user : users) 
    { 
      System.out.println(MessageFormat.format("==User[{0}]=================", ++count)); 
      System.out.println("User Id: " + user.getId()); 
      System.out.println("User UserName: " + user.getUsername()); 
      System.out.println("User Password: " + user.getPassword()); 
      System.out.println("User nickname: " + user.getNickname()); 
    } 
  } 
} 

总结

以上所述是小编给大家介绍的mybatis实现增删改查_动力节点Java学院整理,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# mybatis实现增删改查  # mybatis入门_动力节点Java学院整理  # mybatis教程之增删改查_动力节点Java学院整理  # Java工程中使用Mybatis (工程结合Mybatis  # 数据结合Swing使用))  # JavaWeb开发之Spring+SpringMVC+MyBatis+SpringSecurity+  # 详解java基于MyBatis使用示例  # java 中MyBatis注解映射的实例详解  # 目录下  # 小编  # 运行环境  # 在此  # 给大家  # 所需要  # 所述  # 给我留言  # 配置文件  # 感谢大家  # 疑问请  # 有任何  # 前两节  # DTD  # DOCTYPE  # PUBLIC  # UTF  # encoding  # EN  # http 


相关文章: IOS倒计时设置UIButton标题title的抖动问题  如何高效利用200m空间完成建站?  制作国外网站的软件,国外有哪些比较优质的网站推荐?  开封网站制作公司,网络用语开封是什么意思?  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  网站建设制作、微信公众号,公明人民医院怎么在网上预约?  如何选择网络建站服务器?高效建站必看指南  再谈Python中的字符串与字符编码(推荐)  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  如何在腾讯云服务器快速搭建个人网站?  建站之星备案是否影响网站上线时间?  如何在云虚拟主机上快速搭建个人网站?  攀枝花网站建设,攀枝花营业执照网上怎么年审?  大型企业网站制作流程,做网站需要注册公司吗?  建站之星导航配置指南:自助建站与SEO优化全解析  建站主机SSH密钥生成步骤及常见问题解答?  北京专业网站制作设计师招聘,北京白云观官方网站?  c# Task.ConfigureAwait(true) 在什么场景下是必须的  如何确保西部建站助手FTP传输的安全性?  常州自助建站费用包含哪些项目?  网站制作的方法有哪些,如何将自己制作的网站发布到网上?  建站之星如何优化SEO以实现高效排名?  建站之星官网登录失败?如何快速解决?  怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?  企业网站制作公司网页,推荐几家专业的天津网站制作公司?  如何安全更换建站之星模板并保留数据?  如何快速搭建高效简练网站?  ,石家庄四十八中学官网?  郑州企业网站制作公司,郑州招聘网站有哪些?  企业宣传片制作网站有哪些,传媒公司怎么找企业宣传片项目?  如何快速搭建支持数据库操作的智能建站平台?  C++中引用和指针有什么区别?(代码说明)  独立制作一个网站多少钱,建立网站需要花多少钱?  专业公司网站制作公司,用什么语言做企业网站比较好?  长春网站建设制作公司,长春的网络公司怎么样主要是能做网站的?  赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?  北京企业网站设计制作公司,北京铁路集团官方网站?  微信小程序制作网站有哪些,微信小程序需要做网站吗?  如何快速生成专业多端适配建站电话?  如何在宝塔面板中修改默认建站目录?  山东网站制作公司有哪些,山东大源集团官网?  制作营销网站公司,淘特是干什么用的?  网站制作大概多少钱一个,做一个平台网站大概多少钱?  网页设计与网站制作内容,怎样注册网站?  网站制作软件有哪些,制图软件有哪些?  制作网站的过程怎么写,用凡科建站如何制作自己的网站?  新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?  如何在服务器上三步完成建站并提升流量?  寿县云建站:智能SEO优化与多行业模板快速上线指南 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。