<?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. 配置IIS提示打开目录浏览时的问题:未能从程序集“System.ServiceModel, Version=3.0.0.0”中加载类型“System.ServiceModel.Activation.HttpModule” 的解决办法

    错误消息: 未能从程序集“System.ServiceModel, Version=3.0.0.0”中加载类型“System.ServiceModel.Activation.HttpModule” 的 ...

  2. (sql占位符)Remember that ordinal parameters are 1-based!

    第一次出现是 将第一个问号(?)的位置设为1了,其实是从0开始的. 第二次出现是 sql中的 问号 写成了 中文输入法下的问号,这个太难发现了,搞了半天才发现.然后改成英式问号就可以了. 每天进步一点 ...

  3. hdu_5858_Hard problem(数学题)

    题目链接:hdu_5858_Hard problem 题意: 让你求阴影部分面积 题解: 推推公式就行 #include<stdio.h> #include<math.h> # ...

  4. 浙大pat 1054 题解

    1054. The Dominant Color (20) 时间限制 100 ms 内存限制 32000 kB 代码长度限制 16000 B 判题程序 Standard Behind the scen ...

  5. PHP下用正则表达式分割preg_split、替换reg_replace、匹配preg_match_all等出现乱码的解决方法

    操作前声明操作字符的编码: mb_regex_encoding('utf-8'); $arr = preg_split('/[\n,]/u',$data['name'] ,0, PREG_SPLIT_ ...

  6. [ An Ac a Day ^_^ ] FZU 2030 括号问题 搜索

    FZU一直交不上去 先写在这吧 #include<stdio.h> #include<iostream> #include<algorithm> #include& ...

  7. java的克隆

    java有深拷贝和浅拷贝的区别. 浅拷贝:他是指拷贝该对象时,仅仅是拷贝了对象的本身(包括对象的基本数据类变量),不会拷贝引用数据类型的变量,也就是拷贝出来的新对象基本数据类型的值不变,引用数据类型的 ...

  8. 杭电20题 Human Gene Functions

    Problem Description It is well known that a human gene can be considered as a sequence, consisting o ...

  9. 12c 补丁架构 以及opatch 功能

    cd $ORACLE_HOME/ccr/bin ./emocmrsp oracle@qc550705:/oracle/app/oracle/product/12.1.0.2/db_1/ccr/bin& ...

  10. 微信a标签不跳转

    [问题] 微信页面开发时,各个主页之间的跳转,完全是通过a链接进行的,但是来回跳转几次,再次从其他主页面跳回首页的时候,微信头部出现了跳转加载进度条,但是就是不跳转,也没有任何反应 [范围] 只出现在 ...