mybatis(二)配置入门和lombok组件使用

第一步:去setting 配置里面下载lombok插件,如下图所示:

mybatis(二)配置入门和lombok组件使用

然后重启。。

第二步:

创建实体类:src/main/java/com/zit/model/Book.java

import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

@Data
public class Book {
    private int id;
    private String name;
    private BigDecimal price;
    private Date btime;
}

按快捷键Alt+7;

这时候@Data红色暂时不用管,

第三步:

去pom.xml文件中加入:

  <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <version>1.18.2</version>
      <scope>provided</scope>
    </dependency>

等待加载完成,可以看到变化,并且@Data恢复正常,lombok加载成功。

想要多种变化,百度搜搜。。。。

写一个测试类如下:

src/test/java/Demo.java

import com.zit.model.Book;

import org.junit.Test;

public class Demo {

    @Test
    public void mm() {
        Book bok = new Book();
        System.out.println(bok);

    }
}

结果如下:

Book(id=0, name=null, price=null, btime=null)

 

*******************************************************************************************************************

接着讲配置:

接着在src/main/resources/目录下创建两个配置文件:

文件1 :db.properties:代码如下:

db.driver=com.mysql.cj.jdbc.Driver
db.url=jdbc:mysql://localhost:3306/dt_game?serverTimezone=PRC&useSSL=false&uerUnicode=true&characterEncoding=utf-8
db.username=root
db.password=

文件2:conf.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>
	    <!-- 加载db.properties -->
	    <properties resource="db.properties"/>
	    <environments default="development">
		<environment id="development">
		    <transactionManager type="JDBC"/>
		    <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="com/zit/mapper/BookMapper.xml"/>
	    </mappers>
	</configuration>

配置文件整理好之后,开始写文件:

文件1:src/main/java/com/zit/model:  Book.java

package com.zit.model;

import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
@Data
public class Book {
    private int id;
    private String name;
    private BigDecimal price;
    private Date btime;
}

文件2:src/main/java/com/zit/mapper:  BookMapper.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="book">
    <insert id="add">
        insert into book values(null,#{name},#{price},#{btime})
    </insert>

    <select id="queryall" resultType="com.zit.model.Book">
        select * from book
    </select>

   <select id="queryById" parameterType="int" resultType="com.zit.model.Book">
        select * from book where id=#{id}
    </select>

    <delete id="del">
        delete from book where id=#{id}
    </delete>

    <update id="update">
        update book set name=#{name},price=#{price},btime=#{btime} where id=#{id}
    </update>

</mapper>

文件2:src/test/java/Demo.java

import com.zit.model.Book;
import com.zit.model.Student;
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 org.junit.Test;


import java.io.IOException;
import java.io.Reader;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

public class Demo {
    @Test
    public void ttt() {
        try {
            Reader reader = Resources.getResourceAsReader("conf.xml");
            SqlSessionFactory sf = new SqlSessionFactoryBuilder().build(reader);
            SqlSession session = sf.openSession();
            Book bk = new Book();
            bk.setBtime(new Date());
            bk.setName("《web项目》");
            bk.setPrice(new BigDecimal(39));
            //session.insert("book.add", bk);


         /*   List<Book> list=session.selectList("book.queryall");
            System.out.println(list);
            for(Book b:list){
                System.out.println(b);
            }*/
        /* session.delete("book.del",6);*/
          /*  System.out.println(session.selectOne("book.queryById",1));*/
            Book bb=session.selectOne("book.queryById",1);
            bb.setPrice(new BigDecimal(20));
            session.update("book.update",bb);

            //session.delete();
            session.commit();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }



    @Test
    public void mm() {
        Book bok = new Book();
        System.out.println(bok);

        System.out.println(new Student());
    }
}

完成。。。。。