MyBatis 技术内幕 - MyBatis 介绍 - MyBatis 示例

MyBatis 技术内幕 - MyBatis 介绍 - MyBatis 示例


准备工作

  1. 开发工具:IDEA
  2. 依赖JAR:mybatis jar包 v3.4.6 官方版
  3. 库表创建:
mysql> use test ;
Database changed
mysql> show tables ;
+-------------------+
| Tables_in_test    |
+-------------------+
| db_hd_group_goods |
| test              |
| user              |
+-------------------+
3 rows in set

mysql> show create table user ;
+-------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table                                                                                                                                                                                                                                                                                  |
+-------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| user  | CREATE TABLE `user` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `username` varchar(255) NOT NULL,
  `password` varchar(255) NOT NULL,
  `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8 |
+-------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set

mysql> select * from user ;
+----+-----------+-----------+---------------------+
| id | user_name | pass_word | create_date         |
+----+-----------+-----------+---------------------+
|  1 | guo       | 111       | 2018-05-20 09:55:47 |
|  2 | root      | aaa       | 2018-05-20 09:55:50 |
|  3 | 11111     | 22222     | 2018-05-20 09:55:51 |
|  4 | 1         | 1         | 2018-05-20 09:55:56 |
|  5 | a         | b         | 2018-05-20 09:55:54 |
|  7 | a         | b         | 2018-05-20 09:56:58 |
+----+-----------+-----------+---------------------+
6 rows in set

DEMO

  1. 新建项目:mybatis_test
    1. IDEA --> File --> new --> project --> mybatis_test
    2. IDEA --> File --> Project Structure --> modules --> dependencies --> + --> mybatis_3.4.6.jar
  2. mybatis-config.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>
    <!-- development:开发模式     work:工作模式 -->
    <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/test" />
                <property name="username" value="root" />
                <property name="password" value="root" />
            </dataSource>
        </environment>
    </environments>

    <!-- 配置映射配置文件的位置-->
    <mappers>
        <mapper resource="userMapper.xml" />
    </mappers>    
</configuration>
  1. model
public class User {
    private Integer id;

    private String userName;

    private String passWord;

    private Date createDate ;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public void setUserName(String userName){
        this.userName = userName ;
    }

    public String getUserName(){
        return userName;
    }

    public void setPassWord(String password){
        this.passWord = password;
    }

    public String getPassWord(){
        return passWord;
    }

    public void setCreateDate(Date createDate){
        this.createDate = createDate;
    }

    public Date getCreateDate(){
        return createDate;
    }
}
  1. mapper.java
public interface UserMapper {
    User findUserById(int id);

    void addUser(User user);

    List<User> getAllUsers();
}
  1. mapper.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="com.mybatis.mapper.UserMapper">
  <resultMap id="resultMap" type="com.mybatis.model.User">
    <id column="id" property="id" jdbcType="INTEGER"></id>
    <result column="user_name" property="userName" jdbcType="VARCHAR"></result>
    <result column="pass_word" property="passWord" jdbcType="VARCHAR"></result>
    <result column="create_date" property="createDate" jdbcType="TIMESTAMP"></result>
  </resultMap>
  <sql id="Base_Column_List">
    id,user_name,pass_word,create_date
  </sql>
  <!--根据ID获取对应的值  -->
  <select id="findUserById" parameterType="int" resultMap="resultMap">
    select
    <include refid="Base_Column_List"/>
    from user where id = #{id}
  </select>
  <select id="selectList"  resultMap="resultMap">
    select * from user
  </select>
  <insert id="addUser" parameterType="com.mybatis.model.User">
    insert into user(username,password) values(#{username},#{password})
  </insert>
</mapper>
  1. test
public class SqlSessionFactoryTest {

    public static void main(String[] args) throws IOException {

        String mybatisConfigurePath = "mybatis_configure.xml" ;
        InputStream inputStream = Resources.getResourceAsStream(mybatisConfigurePath);

        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        SqlSession sqlSession = sqlSessionFactory.openSession();
        User user = sqlSession.selectOne("com.mybatis.mapper.UserMapper.findUserById", 1);
        System.out.println(user.getUserName());
        sqlSession.close();
    }

}
  1. 项目结构
    mybatis demo 项目结构
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值