原生态jdbc存在的问题

-------------------

-----------------------

-------

环境的搭建

----------------------------------------

--------------------------------

项目结构:

查询测试1:

1.1     根据用户id(主键)查询用户信息

----------------------

查询测试2

1.2     根据用户名称模糊查询用户信息

-----------------------------

------------------------------

添加测试1:

1.1     添加用户

添加测试2:

1.1.1     自增主键返回(添加之后 返回添加的数据对应的id值)

修改insertUser定义:

1.1.2     非自增主键返回(使用uuid())

---------------------

补充一个mysql知识点:mysql中使用32位uuid作为主键

创建的表结构:

mysql中生成32位uuid的格式 32位

原始uuid()函数:36位

 向表中添加数据 id采用32位uuid

非自增主键返回(使用uuid())测试:

    <!-- 添加用户  非自增主键的返回 uuid -->
<insert id="insertUser2ReturnId" parameterType="org.mybatis.po.User2">
<selectKey keyProperty="id" resultType="String" order="BEFORE">
<!-- select uuid()的长度是36位(因为存在- 例如0039ec42-dc82-1035-a439-9ac409de40a4) -->
<!-- 所以如果想要按照这种方式写的话 就需要设置id的长度为36位 -->
<!-- 而 select replace(uuid(),'-','')是做了截取操作 长度为32位-->
select replace(uuid(),'-','')
</selectKey>
insert into user2(id,username) values(#{id},#{username})
</insert>
    //插入数据 并且输出插入数据对应的那个id值  非自增主键 uuid
@Test
public void insertUser2ReturnID()throws Exception{
String resource="SqlMapConfig.xml";
InputStream resourceAsStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(resourceAsStream);
SqlSession openSession = sqlSessionFactory.openSession();
User2 u2=new User2();
//无需指定id的值 由数据库生成id
u2.setUsername("ggg");
openSession.insert("test.insertUser2ReturnId",u2);
//System.out.println(u.getId());
openSession.commit();
System.out.println(u2.getId());
}

可以看到控制台  打印出了刚才插入的数据所对应的32位id值

修改表的主键长度:36位

修改配置文件

控制台打印:

--------------------

删除:

------------------

更新:

最新文章

  1. 鼠标移到导航上面 当前的LI变色 处于当前的位置
  2. sql 将查询结果为多行一列合并为一行一列
  3. [bzoj1984]月下&ldquo;毛景树&rdquo;
  4. 20145206《Java程序设计》实验三实验报告
  5. forword/ sendRediect
  6. hadoop集群配置实例
  7. Linux内核-链表
  8. 在ec2上创建root用户,并使用root 通过Xshell远程登录aws云服务器
  9. Ubuntu 创建快捷方式的方法
  10. C字符串输入输出函数
  11. vue_实例_组件的生命周期
  12. WORD中引用活动文档元素
  13. nginx配置静态页面访问
  14. webstorm 2018 激活破解方法大全
  15. Dotest-两张图告诉你,为什么要测试兼容性?
  16. linux 压缩和解压缩
  17. centos 7下 django 1.11 + nginx 1.12 + uwsgi 2.0
  18. ssh-keygen生成git ssh密钥
  19. 六大Web负载均衡原理与实现
  20. @几种OutOfMemory异常

热门文章

  1. [Android 4.4.2] 泛泰A850 Mokee4.4.2 20140509 RC2.0 by syhost
  2. Effective C++ Item 28 避免返回对象内部数据的引用或指针
  3. csu 1030: 素数槽
  4. Git与SVN区别 \git学习
  5. Android 删除新版安卓fragment_main.xml
  6. java.util.ComparableTimSort中的sort()方法简单分析
  7. JavaScript和Java的区别
  8. 详解Google第二代TPU 既能推理又能训练 性能霸道
  9. mysql5.7下面windows平台大小写敏感
  10. kali 下使用 arpspoof 实现 ARP 欺骗