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


步骤:

1.创建一个java工程

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

3.创建resources资源文件夹,加入log4j.propertiesSqlMapConfig.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.propertiesSqlMapConfig.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. Java中的break和continue以及标签

    一.Java中的break,continue,goto 首先break,continue是Java中的关键字,而goto是保留字. 基于goto在c和c++中的鬼畜表现,我觉得goto可能还会长期在J ...

  2. [LeetCode&Python] Problem 258. Add Digits

    Given a non-negative integer num, repeatedly add all its digits until the result has only one digit. ...

  3. golang 六宫格、九宫格头像生成

    图片示例就不传了,在原WordPress上. //Merge6Grid 6宫格 //rule NO1:至少3张图 最多6张图 // NO2:第一张大小 60*60 其他大小 28*28 间隔4px 合 ...

  4. java关键字详解----static

    Java Static关键字详解   提起static关键字,相信大家绝对不会陌生,但是,想要完全说明白,猛的一想,发现自己好像又说不太明白... ...比方说,昨天被一个同学问起的时候... ... ...

  5. 最小生成树&&最大生成树模板

    #include<bits/stdc++.h> using namespace std; int n,m; struct edge { int x; int y; int len; }ed ...

  6. LeetCode – Most Common Word

    Given a paragraph and a list of banned words, return the most frequent word that is not in the list ...

  7. Python知识点整理,基础1 - 基本语法

  8. POJ3904 Sky Code

    题意 Language:Default Sky Code Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 3980 Accepte ...

  9. (考研)java网络编程

    dog   jb 叫什么...  从飞秋得到IP地址 自己学会的用命令 ipconfig 编写java程序看ipimport java.net.*; public class Test{ public ...

  10. java黑魔法-反射机制-01

    在java的帮助文档中,java.lang包中有一个Class类,注意这里的"C“是大写,所以这个不是表示类的声明,而是一个真正的类.在java的帮助文档中,这样定义的Class类: pub ...