美文网首页
01环境搭建

01环境搭建

作者: RobertLiu123 | 来源:发表于2019-07-18 13:51 被阅读0次

一、框架:

半成品,可以理解为房子的大框,之后砌墙会在其基础上。

二、目录结构

image

三、jar包下载

<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
        <!-- <version>3.3.0</version> -->
        <version>3.4.2</version>
</dependency>

<dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.36</version>
    </dependency>

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.7.2</version>
    </dependency> 
    
    <dependency>
        <groupId>org.mybatis.generator</groupId>
        <artifactId>mybatis-generator-core</artifactId>
        <version>1.3.2</version>
    </dependency>
    
    <dependency>
        <groupId>org.mybatis.caches</groupId>
        <artifactId>mybatis-ehcache</artifactId>
        <version>1.0.2</version>
    </dependency>
    <dependency>

        <groupId>net.sf.ehcache</groupId>
        <artifactId>ehcache</artifactId>
        <version>2.10.1</version>
    </dependency>

四、在src中引入SqlMapConfig.xml文件

名字可随便取,但惯例都叫此,之后会有专门的地方根据名字读取文件,现在专门解释一下该文件,文件后缀名时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> 
    
</configuration>  

1、

<?xml version="1.0" encoding="UTF-8"?>

是必须有的头文件
2、

<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">

是处理指令,能够解析MyBatis元素
3、根元素

<configuration></configuration>

一个配置文件只能有一个根元素
4、在<configuration></configuration>中配置数据源,所谓数据源就是数据的来源,可以理解为数据库

<configuration>
    <environments default="mysql">
        <environment id="mysql">
            <!-- 事务管理器 -->
            <transactionManager type="jdbc"></transactionManager>
            <!-- 配置数据源 -->
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver" />
                <property name="url" value="jdbc:mysql://localhost:3306/scott" />
                <property name="username" value="root" />
                <property name="password" value="root" />
            </dataSource>
        </environment>
    </environments>
</configuration>  

a.default中的值决定具体使用哪一数据源,所谓数据源就是数据的来源,即数据库
b.在指定的数据源中,首先配置事务控制器
c.配置数据源的相关信息,POOLED表示使用连接池进行连接
d.property中的name都有特定的含义,不允许改变

五、建表语句

CREATE TABLE `NewTable` (
`id`  int(11) NULL DEFAULT NULL ,
`username`  varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
`hiredate`  date NULL DEFAULT NULL ,
`password`  varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL 
)
ENGINE=InnoDB
DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci
ROW_FORMAT=COMPACT
;

六、创建实体类

public class User {
    private int id;
    private String username;
    private String password;
    private Date hiredate;
    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 getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public Date getHiredate() {
        return hiredate;
    }
    public void setHiredate(Date hiredate) {
        this.hiredate = hiredate;
    }
    
}

七、创建接口UserMapper

public interface UserMapper {
    User getUser(int id);

}

八、创建与UserMapper接口同名的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命名空间,作用就是对sql进行分类化管理-->
<mapper namespace="com.neusoft.dao.UserMapper">
    <select id="getUser" parameterType="java.lang.Integer" resultType="com.neusoft.bean.User">
        select * from t_user where id = #{value}
    </select>
</mapper>

1、mapper是根元素
2、<mapper namespace="com.neusoft.dao.UserMapper">的namespace值必须写接口的全限定名,
3、根元素中可以编写sql语句
4、parameterType:指定输入参数类型,mybatis 从输入对象中获取参数值拼接在 sql 中。
resultType:指定输出结果类型,mybatis 将 sql 查询结果的一行记录数据映射为 resultType 指定类型的对象。
上述参数值需要引入全限定名
有的童鞋可能猜到了,你可以认为这个配置文件类似于接口的实现类,只不过我们不用implements关键字,而是在主配置文件中读取它

<mappers>
        <!-- <mapper resource="com/dao/UserMapper.xml"/> -->
        <package name="com.neusoft.dao"/>
    </mappers>

九、最后,我们编写测试类,主要经过如下步骤

1、加载核心配置文件

Reader reader = Resources.getResourceAsReader("SqlMapConfig.xml");

2、获取数据库连接池对象

SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader);

3、获取与数据库的链接

SqlSession session = factory.openSession();

4、通过连接拿到实体类对象

UserMapper userMapper = session.getMapper(UserMapper.class);

5、根据id查询用户信息

User user = userMapper.getUser(1);

此时相关数据已经封装给了实体类

十、引入配置文件

在classpath下创建db.properties

jdbc.driver =com.mysql.jdbc.Driver

jdbc.url = jdbc:mysql://localhost:3306/scott

jdbc.username=root

jdbc.password=root

此时在SqlMapConfig.xml文件中需要修改为

<!-- properties元素:
    resource属性,要引入的消息资源文件相对于src的路径 -->
    <properties resource="db.properties"></properties>
    <environments default="oracle">
        <environment id="oracle">
            <!-- 事务管理器 -->
            <transactionManager type="mysql"></transactionManager>
            <!-- 配置数据源 -->
            <dataSource type="POOLED">
                <property name="driver" value="${jdbc.driver}"/>
                <property name="url" value="${jdbc.url}"/>
                <property name="username" value="${jdbc.username}"/>
                <property name="password" value="${jdbc.password}"/>
            </dataSource>
        </environment>
    </environments>

相关文章

网友评论

      本文标题:01环境搭建

      本文链接:https://www.haomeiwen.com/subject/qoiklctx.html