<?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>
<setting name="defaultStatementTimeout" value="1000"/>
</settings>
<typeAliases>
<typeAlias alias="user" type="com.pt.User"/>
</typeAliases>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<!-- 配置数据库连接信息 -->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:8066/TESTDB" />
<property name="username" value="test" />
<property name="password" value="test" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/pt/map/UserMap.xml"/>
</mappers>
</configuration>

conf.xml

 package com.pt;

 public class User {
public int userId;
public String userName;
public int getUserId() {
return userId;
}
public void setUserId(int userId) {
this.userId = userId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
} }

User.java

 <?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.pt.map.UserMap">
<resultMap type="user" id="userMap">
<!--property值 是类的成员名,column 是数据库字段名 -->
<result property="userId" column="id" />
<result property="userName" column="name" />
</resultMap>
<select id="getUser" parameterType="int" resultMap="userMap">
select * from test where id=#{id}
</select> <insert id="addUser" parameterType="user" timeout="1">
insert into test(id,name) values(#{userId},#{userName})
</insert>
</mapper>

UserMap.xml

 package com.pt;

 import java.io.Reader;
import java.util.Date; import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test; public class TestUser {
//mybatis的配置文件
static String resource = "conf.xml";
//使用MyBatis提供的Resources类加载mybatis的配置文件(它也加载关联的映射文件)
static Reader reader = null;
//构建sqlSession的工厂
static SqlSessionFactory sessionFactory = null;
//创建能执行映射文件中sql的sqlSession
static SqlSession session = null;
@BeforeClass
public static void setUp()throws Exception{
reader = Resources.getResourceAsReader(resource);
//构建sqlSession的工厂
sessionFactory = new SqlSessionFactoryBuilder().build(reader);
//创建能执行映射文件中sql的sqlSession
session = sessionFactory.openSession();
System.out.println("开始测试之前~~~~~~~~~"+ new Date());
} @AfterClass
public static void tearDown(){
System.out.println("开始完成之后~~~~~~~~~"+ new Date());
} @Test
public void testGet() throws Exception{ /**
* 映射sql的标识字符串,
* me.gacl.mapping.userMapper是userMapper.xml文件中mapper标签的namespace属性的值,
* getUser是select标签的id属性值,通过select标签的id属性值就可以找到要执行的SQL
*/
String statement = "com.pt.map.UserMap.getUser";//映射sql的标识字符串
//执行查询返回一个唯一user对象的sql
int id = 1630002;
User user = session.selectOne(statement, id);
System.out.println(user.getUserId());
} @Test
public void testAdd() throws Exception{
String statement = "com.pt.map.UserMap.addUser";//映射sql的标识字符串
//执行查询返回一个唯一user对象的sql
User newUser = new User();
int id = 1005000;
int insert_result = -88;
while(id++ != 1009000){
try{
newUser.setUserId(id);
insert_result = session.insert(statement, newUser);
session.commit();
System.out.println(id + "===INSERT SUCCESS===" + insert_result);
}catch(Exception e){
System.out.println(id + "===INSERT FAIL===" + insert_result);
e.printStackTrace();
}
Thread.sleep(0, 10);
}
} }

test

Mybatis——helloWorld级程序的更多相关文章

  1. 实现一个servlet的helloworld小程序(不适用Eclipse)

    实现一个servlet的helloworld小程序(不适用Eclipse) 1. 在tomcat中的webapps下建一个应用程序FirstServlet(C:\tomcat\webapps\Firs ...

  2. Helloworld和程序员人生

    转:Helloworld和程序员人生 高中时期 10 PRINT "HELLO WORLD" 20 END 大学新生 program Hello(input, output) be ...

  3. 10分钟 在linux里创建.net core helloworld控制台程序

    官方教程 安装linux https://www.cnblogs.com/LittleFeiHu/p/9749455.html 第一步 :选择和你本机适用的Linux版本,我这里用的是18.04. 第 ...

  4. [J2EE]MyBatis HelloWorld

    一.MyBatis简单介绍 iBatis是apche的一个开源项目.2010年迁移到google code后改名为MyBatis,2013年前已到github.MyBatis是一个基于java的持久层 ...

  5. Mybaits 源码解析 (一)----- 搭建一个mybatis框架(MyBatis HelloWorld)

    源码分析之前先搭一个mybatis的demo,这个在看源码的时候能起到了很大的作用,因为在看源码的时候,会恍然大悟,为什么要这么配置,为什么要这么写.(老鸟可以跳过这篇) 开发环境的准备 创建mave ...

  6. 01、MyBatis HelloWorld

    1. MyBatis简介 1)MyBatis 是支持定制化 SQL.存储过程以及高级映射的优秀的持久层框架 2)MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集 3)MyB ...

  7. .Net 转战 Android 4.4 日常笔记(2)--HelloWorld入门程序

    我不知道人们为什么那么喜欢用HelloWorld来做为自己的第一个程序入门,为什么不是hello **其他的东西或者hi. 一.打开ADT 的Eclipse开发工具新建一个Android项目 New- ...

  8. 深入理解“HelloWorld”小程序

    对于每个Java程序员来说,HelloWorld是一个再熟悉不过的程序.它很简单,但是这段简单的代码能指引我们去深入理解一些复杂的概念.这篇文章,我将探索我们能从这段简单的代码中学到什么.如果你对He ...

  9. mybatis第一个程序随笔

    今天继续学习了解如何写一个mybatis程序 创建了Dao层 1.1 创建一个UserDao接口 1.2 创建UserMapper.xml文件 在mybaits中文手册查找配置信息 <?xml ...

随机推荐

  1. kali自动化清理缓存和日志

    前几天发现kali无法正常开机,启动盘启动进去之后, 发现/var/log/目录下的日志文件太大把硬盘占满了,于是乎... 文件主要是这三个: kern.log :   包含内核产生的日志,有助于在定 ...

  2. js--性能优化(转)

    前言 一直在学习javascript,也有看过<犀利开发Jquery内核详解与实践>,对这本书的评价只有两个字犀利,可能是对javascript理解的还不够透彻异或是自己太笨,更多的是自己 ...

  3. linshi_temp_erweima_html

    <!doctype html><html><head><meta charset="utf-8"><meta content= ...

  4. 浙大 pat 1007题解

    Given a sequence of K integers { N1, N2, ..., NK }. A continuous subsequence is defined to be { Ni, ...

  5. kettle连接Hive中数据导入导出(6)

    1.hive往外写数据 http://wiki.pentaho.com/display/BAD/Extracting+Data+from+Hive+to+Load+an+RDBMS 连接hive

  6. Mysql innodb 间隙锁

    前段时间系统老是出现insert死锁,很是纠结.经过排查发现是间隙锁!间隙锁是innodb中行锁的一种, 但是这种锁锁住的却不止一行数据,他锁住的是多行,是一个数据范围.间隙锁的主要作用是为了防止出现 ...

  7. Delphi用ADOquery主从表例子(转总结)

    http://blog.csdn.net/kandy_zheng/article/details/1639184 在sql server 的northwide 中建立主表 create table s ...

  8. .Net Core 学习资料

    官方网站:https://www.microsoft.com/net/core#windows   官方文档:https://docs.asp.net/en/latest/intro.html   中 ...

  9. chapter6 深入了解函数

    Lua函数是具有特定词法域的第一类值,与其他传统类型的值(string and number)具有相同的权利. 它可以保存在变量和table中,也可以把它当参数传递,也可以作为返回值. 在Lua中有个 ...

  10. Smarty 注册变量

    关于smarty类的一些解析 特别注意左右分隔符<{}>,display------显示模板的内容(里面是.html文件),assign-------注册变量 <?php //是一个 ...