Mybatis学习(三)搭建mybatis的入门程序的运行环境

来源:互联网 发布:mysql relay log 作用 编辑:程序博客网 时间:2024/06/16 04:35

需求:

1、搭建mybatis的入门级别的运行环境。

软件环境:

1、eclipse、jdk1.6、mybatis3.2、mysql

注:高级别的版本需要jdk1.7。

步骤:

1、建立数据库mybatis,创建user表,表结构如下

CREATE TABLE `user` (  `id` int(11) NOT NULL AUTO_INCREMENT,  `username` varchar(50) DEFAULT NULL,  `age` int(11) DEFAULT NULL,  PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;
插入一条测试数据。这个符合自己为原则。

2、在eclipse环境下搭建

目录结构

        MybatisTest

src

|------cn.bj.mybatis.model

|---User.java

|---User.xml

|-----Configuration.xml

test

|------cn.bj.mybatis.test

|---MybatisTest.java

lib

|---log4j-1.2.17.jar

|---mybatis-3.2.0.jar

|---mysql-connectionor-java-5.0.4-bin.jar

按上述目录结构建立。不要问为什么,等运行成功你可以随意的改变的结构,当然你得掌握先。下面看各个文件的详细情况,在这儿贴出源代码:

User.java

package cn.bj.mybatis.model;public class User {private int id;private String username;private int age;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 int getAge() {return age;}public void setAge(int age) {this.age = age;}}

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"><mapper namespace="cn.bj.mybatis.models.UserMapper">  <select id="selectUser" resultType="User">    select * from user where id = #{id}  </select></mapper>
Configuration.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><typeAliases>         <typeAlias alias="User" type="cn.bj.mybatis.model.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:3306/mybatis"/>        <property name="username" value="root"/>        <property name="password" value="root"/>      </dataSource>    </environment>  </environments>  <mappers>    <mapper resource="cn/bj/mybatis/model/User.xml"/>  </mappers></configuration>

测视类MybatisTest.java

package cn.bj.mybatis.test;import java.io.IOException;import java.io.InputStream;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 cn.bj.mybatis.model.User;public class MybatisTest {public static void main(String[] args){SqlSessionFactory sqlSessionFactory = null;SqlSession session = null;String resource = "Configuration.xml";InputStream inputStream;try {inputStream = Resources.getResourceAsStream(resource);sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);session = sqlSessionFactory.openSession();System.out.println(session);User user = (User)session.selectOne("cn.bj.mybatis.models.UserMapper.selectUser",1);System.out.println(user.getId());System.out.println(user.getUsername());} catch (IOException e) {e.printStackTrace();}finally{if(session != null){session.close();}}}}
运行的结果为

org.apache.ibatis.session.defaults.DefaultSqlSession@1ccce3c
1
helloworld

到这儿了,说明你搭建的基本环境成功了。该问问内容了好的。下面讲一下

Configuration.xml这个文件的重要性,这个文件是mybatis的重要的全局的配置文件(有数据库的连接配置信息),当然名字可以改的。不一定要唯一的。这就是开始时说不要问原因的原因。

如果你学过hibernate的话,在这儿感觉别扭的应该是User.xml这个文件。这个是实体的配置文件,在hibernate中应该名称为User.hbm.xml。记住就好了。因为mybatis和hibernate比较来说它是半自动的,半自动在哪儿呢?就在这儿了,(sql要手工写的,这些保证了mybatis在编写复杂sql语句的高效性了)。






1 0