Eclipse上创建第一mybatis工程实现数据库查询


步骤:

1.创建一个java工程

2.创建lib文件夹,加入mybatis核心包、依赖包、数据驱动包。并为jar包添加路径

3.创建resources资源文件夹,加入log4j.properties和SqlMapConfig.xml配置文件

4.创建POJO类

5.在resources下的sqlmap目录下创建sql映射文件User.xml

6.在SqlMapConfig.xml中加载映射文件

7.在resources下的sqlmap目录下创建sql映射文件User.xml实现根据id查询用户

8.编写测试程序

9.测试成功



1.创建一个java工程

2.创建lib文件夹,加入mybatis核心包、依赖包、数据驱动包。并为jar包添加路径

mybaits的代码由github.com管理

下载地址:https://github.com/mybatis/mybatis-3/releases

mybatis-3.4.6.jar       mybatis的核心包

lib文件夹                  mybatis的依赖包所在

mybatis-3.4.6.pdf      mybatis使用手册

3.创建resources资源文件夹,加入log4j.properties和SqlMapConfig.xml配置文件

log4j.properties文件下加入如下头文件

# Global logging configuration

log4j.rootLogger=DEBUG, stdout

# Console output...

log4j.appender.stdout=org.apache.log4j.ConsoleAppender

log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

SqlMapConfig.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>

    <!-- 和spring整合后 environments配置将废除 -->

    <environments default="development">

       <environment id="development">

           <!-- 使用jdbc事务管理 -->

           <transactionManager type="JDBC" />

           <!-- 数据库连接池 -->

           <dataSource type="POOLED">

              <property name="driver" value="com.mysql.jdbc.Driver" />

              <property name="url"

                  value="jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8" />

              <property name="username" value="root" />

              <property name="password" value="root" />

           </dataSource>

       </environment>

    </environments>

</configuration>

4.创建POJO类    //此处pojo类的属性和类型与数据库User表中的属性和类型相同

package com.mybatis.pojo;

import java.sql.Date;

public class User {

       private int id;

       private String username;// 用户姓名

       private String sex;// 性别

       private Date birthday;// 生日

       private String address;// 地址    

       public int getId() {

             return id;

       }

       public void setId(int id) {

             this.id = id;

       }

       public String getUsername() {

             return username;

       }

       public void setUsername(String username) {

             this.username = username;

       }

       public String getSex() {

             return sex;

       }

       public void setSex(String sex) {

             this.sex = sex;

       }

       public Date getBirthday() {

             return birthday;

       }

       public void setBirthday(Date birthday) {

             this.birthday = birthday;

       }

       public String getAddress() {

             return address;

       }

       public void setAddress(String address) {

             this.address = address;

       }

       @Override

       public String toString() {

             return "User [id=" + id + ", username=" + username + ", sex=" + sex + ", birthday=" + birthday + ", address="

                           + address + "]";

       }

}

5.在resources下的sqlmap目录下创建sql映射文件User.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">

<!-- namespace:命名空间-->

<mapper namespace="test">

</mapper>

6.在SqlMapConfig.xml中加载映射文件

                    </environment>

       </environments>

       <mappers>

       <mapper resource="sqlmap/User.xml"></mapper>

       </mappers>

</configuration>

7.在resources下的sqlmap目录下创建sql映射文件User.xml实现根据id查询用户

<?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">

<!-- namespace:命名空间-->

<mapper namespace="test">

 

    <!-- id:statement的id 或者叫做sql的id-->

    <!-- parameterType:声明输入参数的类型 -->

    <!-- resultType:声明输出结果的类型,应该填写pojo的全路径 -->

    <!-- #{}:输入参数的占位符,相当于jdbc的? -->

    <select id="queryUserById" parameterType="int"

       resultType="com.mybatis.pojo.User">

       SELECT * FROM `user` WHERE id  = #{id}

    </select>

</mapper>

8.编写测试程序

public class MybatisTest {

    private SqlSessionFactory sqlSessionFactory = null;

 

    @Before

    public void init() throws Exception {

       // 1. 创建SqlSessionFactoryBuilder对象

       SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();

 

       // 2. 加载SqlMapConfig.xml配置文件

       InputStream inputStream = Resources.getResourceAsStream("SqlMapConfig.xml");

 

       // 3. 创建SqlSessionFactory对象

       this.sqlSessionFactory = sqlSessionFactoryBuilder.build(inputStream);

    }

 

    @Test

    public void testQueryUserById() throws Exception {

       // 4. 创建SqlSession对象

       SqlSession sqlSession = sqlSessionFactory.openSession();

 

       // 5. 执行SqlSession对象执行查询,获取结果User

       // 第一个参数是User.xml的statement的id,第二个参数是执行sql需要的参数;

       Object user = sqlSession.selectOne("queryUserById", 1);

 

       // 6. 打印结果

       System.out.println(user);

 

       // 7. 释放资源

       sqlSession.close();

    }

}

9.测试成功

DEBUG [main] - Logging initialized using 'class org.apache.ibatis.logging.slf4j.Slf4jImpl' adapter.

DEBUG [main] - PooledDataSource forcefully closed/removed all connections.

DEBUG [main] - PooledDataSource forcefully closed/removed all connections.

DEBUG [main] - PooledDataSource forcefully closed/removed all connections.

DEBUG [main] - PooledDataSource forcefully closed/removed all connections.

DEBUG [main] - Opening JDBC Connection

DEBUG [main] - Created connection 107915280.

DEBUG [main] - Setting autocommit to false on JDBC Connection [com.mysql.jdbc.JDBC4Connection@66ea810]

DEBUG [main] - ==>  Preparing: SELECT * FROM user WHERE id = ?

DEBUG [main] - ==> Parameters: 10(Integer)

DEBUG [main] - <==      Total: 1

User [id=10, username=张三, sex=1, birthday=2014-07-10, address=北京市]

Eclipse创建一个mybatis工程实现连接数据库查询的更多相关文章

  1. 【Java_SSM】(二)使用eclipse创建一个Maven web工程

    这篇博文我们介绍一下如何利用eclipse创件一个maven web工程. (1)File--New--Other--Maven--Maven project 此处我们快速创建一个maven工程 点击 ...

  2. IDEA创建一个Mybatis逆向工程

    Mybatis逆向工程简介: MyBatis Generator (MBG) 是一个Mybatis的代码生成器 MyBatis 和 iBATIS. 他可以生成Mybatis各个版本的代码,和iBATI ...

  3. 使用Eclipse创建Maven Web工程

    方法/步骤 1 使用Eclipse创建Maven Web工程 2 找到Maven Project,点击Next 3 勾选上Create a simple project (不使用骨架),Next 4 ...

  4. Eclipse创建java web工程配置Tomacat和JDK 【转】

    在学习AJAX过程中,还用Intellij就有点老旧了,这是后装个Eclipse时,发现这个配置也很头疼,现在就叫你如何创建一个web工程,同时叫你配置Eclipse. 一.创建一个web工程 1.打 ...

  5. Eclipse创建java web工程

    Eclipse创建java web工程 eclipse版本:eclipse-jee-4.5-win32-x64 tomcat版本:apache-tomcat-7.0.63-windows-x64 jd ...

  6. 创建一个Android工程

    Creating an Android Project 原文演示了怎么通过Android Studio和命令行两种方式来创建一个Android工程. 原文链接:http://developer.and ...

  7. 用Eclipse 创建一个 简单的 Maven JavaWeb 项目

    使用Maven 创建一个简单的 javaWeb 项目: 本篇属于 创建 JavaWeb 项目的第三篇: 建议阅读本篇之前 阅读 用 Eclipse 创建一个简单的web项目  ;本篇是这这篇文章的基础 ...

  8. eclipse创建一个文件夹

    如何给eclipse创建一个文件夹,便于项目的管理:有时我们的eclipse中会有很多项目的,有的是公司的如Project1,Project2,Project3....还有的呢, 也可能是自己平时做的 ...

  9. 使用idea创建一个maven工程

    使用idea创建一个maven工程 一.创建maven工程 二.输入工程名 三.指定maven仓库 四.点击finish 五.修改工程结构(file->project structure) 六. ...

随机推荐

  1. 关系数据库(MySQL)的规范化、以及设计原则

    1.了解范式(NF) 为了使得关系数据库能够符合规范理论,所有的数据库表都要满足:范式. 关系数据库的范式有五类:第一范式,第二范式,....第五范式.下面我们来了解一下前三个范式: 第一范式:简单来 ...

  2. NOI-1.1-06-空格分隔输出-体验多个输入输出

    06:空格分隔输出 总时间限制:  1000ms 内存限制:  65536kB 描述 读入一个字符,一个整数,一个单精度浮点数,一个双精度浮点数,然后按顺序输出它们,并且要求在他们之间用一个空格分隔. ...

  3. jQuery事件委托方法 bind live delegate on

    1.bind    jquery 1.3之前 定义和用法:主要用于给选择到的元素上绑定特定事件类型的监听函数 语法:  bind(type,[data],function(e)); 特点: a.适合页 ...

  4. python 闭包和迭代器

    一  函数名的运用:(函数名是一个变量,但它是一个特殊变量,与括号配合可以执行变量. (1) 函数名可以赋值给其他变量 def chi(): print("吃月饼") fn=chi ...

  5. FTP相关、用vsftpd搭建ftp、xshell使用xftp传输文件、使用pure-ftpd搭建ftp服务

    1.FTP相关(file transfer protocol,文件传输协议)   2.用vsftpd搭建ftp安装:yum install vsftpd -y创建一个虚拟用户:useradd  vft ...

  6. (9)SQL的注入(致命的漏洞)

    用户登陆网站的时候进行账户验证输入特殊的格式和字符会触发一个漏洞,不需要密码直接登录成功 import pymysql username = input('请输入账号: ')password = in ...

  7. C++学习(二十二)(C语言部分)之 项目扫雷实例

    一.新建项目 二.新建源文件 main.cpp和mining,cpp 三.新建头文件 mining.h 四.图片资源添加 添加完成后会在头文件里面生成一个.h头文件,用来调用资源 打开之后可以看到,对 ...

  8. windows server/windows同一系统下建立两个目录之间的映射关系

    应用场景,如下: 当两个不同的项目共享同一个资源目录.同一个数据库时,由于两项目根目录不一样,再加上部分项目可能有入口重写规则限制了用户的访问权限. 因此,我们可以利用window 服务器给我们提供的 ...

  9. maven 总结整理(二)——download source code

    当我们用maven下载jar包时,有时希望下载jar包的源代码,此时可以在pom.xml文件中,进行设置. <build>    <finalName>WebProject&l ...

  10. Go Example--for循环

    package main import "fmt" func main() { i := 1 //Go循环只有for, 第一种循环方式 for i<=3 { fmt.Prin ...