Fork me on GitHub
  1. 导入jar包

 

 共13包

注意:mysql-connction的版本是5.1.7版低版本可能不行

          2.编写配置文件

                  a. 配置连接数据库的文件

                           a.1创建数据库

                            

                     user表

                

 

                               a.2配置文件目录

                                      

                                                                           a.2.1db.properties(连接数据的数据)

db.driver=com.mysql.jdbc.Driver
db.url=jdbc:mysql://localhost:3306/mybaties?useUnicode=true&characterEncoding=utf8
db.username=root
db.password=abc

                                                                              a.2.2SqlMapConfig.xml(连接javabean和数据库)

<?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>
<!-- 加载java的配置文件或者声明属性信息 -->
<properties resource="db.properties">
<property name="db.username" value="123" />
</properties>
<!-- <settings></settings> -->
<!-- 自定义别名 -->
<typeAliases>
<!-- 单个别名定义 -->
<!-- <typeAlias type="po.User" alias="user"/> -->
<!-- 批量别名定义(推荐) -->
<!-- package:指定包名称来为该包下的po类声明别名,默认的别名就是类名(首字母大小写都可) -->
<package name="po" />
</typeAliases>
<!-- 配置mybatis的环境信息,与spring整合,该信息由spring来管理 -->
<environments default="development">
<environment id="development">
<!-- 配置JDBC事务控制,由mybatis进行管理 -->
<transactionManager type="JDBC"></transactionManager>
<!-- 配置数据源,采用mybatis连接池 -->
<dataSource type="POOLED">
<property name="driver" value="${db.driver}" />
<property name="url" value="${db.url}" />
<property name="username" value="${db.username}" />
<property name="password" value="${db.password}" />
</dataSource>
</environment>
</environments>

<!-- 加载映射文件 -->
<mappers>
<mapper resource="User.xml" />
<!-- <mapper resource="mapper/UserMapper.xml" /> -->

<!-- 批量加载映射文件 -->
<package name="mapper" />
</mappers>
</configuration>

                                                                      a.2.3 User.xml(编写sql语句)

<?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:命名空间,对statement的信息进行分类管理 -->
<!-- 注意:在mapper代理时,它具有特殊及重要的作用 -->
<mapper namespace="test">
<!-- 根据用户ID查询用户信息 -->
<!-- select:表示一个MappedStatement对象 -->
<!-- id:statement的唯一标示 -->
<!-- #{}:表示一个占位符? -->
<!-- #{id}:里面的id表示输入参数的参数名称,如果该参数是简单类型,那么#{}里面的参数名称可以任意 -->
<!-- parameterType:输入参数的java类型 -->
<!-- resultType:输出结果的所映射的java类型(单条结果所对应的java类型) -->
<select id="findUserById" parameterType="int"
resultType="po.User">
SELECT * FROM USER WHERE id =#{id}
</select>


</mapper>

 

  1. 测试

                                                   

                                          User.java(javabean)

package po;

import java.util.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 + "]";
}

}

                              MyBatisFrist.java

@Test
public void findUserByIdTest() throws Exception{
//读取配置文件
//读取全局配置文件
String resource = "SqlMapConfig.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
//创建SqlSessionFactory
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
//创建SqlSession
SqlSession sqlSession = sqlSessionFactory.openSession();
//调用SqlSession 的增删改查方法
//第一个参数表示statement的唯一标识
User user = sqlSession.selectOne("test.findUserById", 1);
System.out.println(user);
//关闭资源
sqlSession.close();
}

          测试结果:

                        

 

 

 

 

 

 

      

posted on 2017-01-14 15:07  TopTime  阅读(2070)  评论(0编辑  收藏  举报