美文网首页
IDEA搭建Mybatis

IDEA搭建Mybatis

作者: Stephenwish | 来源:发表于2019-01-08 15:58 被阅读0次
QQ图片20190108150537.png

第一步)先用IDEA创建MAVEN项目,参考上图步骤。


QQ图片20190108151012.png
第二步)接着填写grounpId 一般是公司机构的简写,artifactid 指代项目名称,后续步骤默认不改一路直点到FInish。 QQ图片20190108151741.png
第三步)打开pom.xml文件,在依赖里面添加2处依赖,在这里你也可以查找下你本地的MAVEN库里面版本是什么,然后填进去,如果artifactid有红字一般是这个库没导进去
QQ图片20190108152458.png
QQ图片20190108152504.png

第四步)一般出来结构图如上,可能最新版本IDEA没有resources,那么需要手动添加一个文件夹,再把它右键设置标识为resources root.
第五步)新建一个实体类Person。具体代码如下(数据库自己另行建一个对应字段的表)

public class Person {
    private int id;
    private String userName ;
    private int age ;
    private String mobilePhone ;
    public  Person(){}
    public Person(int id,String userName, int age, String mobilePhone) {
        this.id = id;
        this.userName = userName;
        this.age = age;
        this.mobilePhone = mobilePhone;
    }

    public String getUserName() {
        return userName;
    }
    public int getId() {
        return id;
    }

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

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getMobilePhone() {
        return mobilePhone;
    }

    public void setMobilePhone(String mobilePhone) {
        this.mobilePhone = mobilePhone;
    }

    @Override
    public String toString() {
        return "Person{" +
                "userName='" + userName + '\'' +
                ", age=" + age +
                ", mobilePhone='" + mobilePhone + '\'' +
                '}';
    }
}

第六步)有了实体和数据库表以后当然是用Mybatis关联映射。我们新建2个配置文件到resources,一个是数据库配置信息,另一个是Mybatis配置信息。
我的数据库配置mysql.properties参考如下:

driver:com.mysql.jdbc.Driver
url:jdbc:mysql://localhost:3306/nobody
username:root
password:123456

mybatis.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>
    <properties resource="mysql.properties"></properties>

    <typeAliases>
        <typeAlias type="com.luban.model.Person" alias="Person"/>
    </typeAliases>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"></transactionManager>
            <dataSource type="POOLED">
                <property name="driver" value="${driver}"/>
                <property name="url" value="${url}"/>
                <property name="username" value="${username}"/>
                <property name="password" value="${password}"/>
            </dataSource>
        </environment>
    </environments>


    <mappers>
        <mapper resource="mapper/Person.xml"/>
    </mappers>
    <!-- Continue going here -->

</configuration>

这个配置有个主意地方就是 <typeAliases>不要放到environments 的下面,不然会报莫名错误,原本我是想放到mappers 上面好看点但是发现报错,具体原因可能是读取时候有顺序。
typeAlias 里面type是指代项目中的类的全名,alias是别名。
mapper是对应的映射位置(就是相对于resources文件夹)。中间的数据库配置用了占位符,读取刚才数据库配置文件。

第七步)数据库映射完毕后接着书写数据库操作脚本Person.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.luban">
    <insert id="insertPerson" parameterType="Person" >
        INSERT INTO PERSON(ID,USERNAME,AGE,MOBILEPHONE)VALUES (#{id},#{userName},#{age},#{mobilePhone})
    </insert>

    <select id="queryById" parameterType="int" resultType="Person">
        SELECT * FROM PERSON WHERE ID=#{id}
    </select>

    <update id="updatePerson">
        UPDATE PERSON SET USERNAME=#{userName},AGE=#{age},MOBILEPHONE=#{mobilePhone} WHERE ID=#{id}
    </update>
</mapper>

我的数据库表如下


QQ图片20190108155340.png

第八步)编写一个测试方法,具体如下:

public class App
{
    public static void main( String[] args )
    {
        String resources="mybatis-config.xml";
        Reader reader=null;

        try {
            reader=Resources.getResourceAsReader(resources);
            SqlSessionFactory sqlMapper=new SqlSessionFactoryBuilder().build(reader);
            SqlSession session=sqlMapper.openSession();
            Person user=session.selectOne("queryById",1);
            System.out.println(user.getUserName());
            session.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

最后是项目整体结构图:


QQ图片20190108155617.png

启动项目查看控制台信息如下:


QQ图片20190108155744.png

完毕!

相关文章

网友评论

      本文标题:IDEA搭建Mybatis

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