mybatis01

来源:互联网 发布:神话软件下载 编辑:程序博客网 时间:2024/06/08 02:22

1、建立mybatis 目录,jdbc目录,存放 mybatis和jdbc的jar包,例如:

mybatis-3.4.5.jar

sqljdbc42.jar  //这个是连接SqlServer的jdbc包,如果是MySQL或者oracle则需要另外的jar包


2、建立mybatis-config.xml和 jdbc.properties 文件(src目录下)

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>

<!--配置关联文件-->

    <properties resource="jdbc.properties"/>

<!--配置别名-->

    <typeAliases>
        <typeAlias alias="Student" type="com.java1234.model.Student"/>
    </typeAliases>

<!--配置环境-->

    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC" />
            <dataSource type="POOLED">
                <property name="driver" value="${jdbc.driverClassName}" />
                <property name="url" value="${jdbc.url}" />
                <property name="username" value="${jdbc.username}" />
                <property name="password" value="${jdbc.password}" />
            </dataSource>
        </environment>
    </environments>

<!--配置映射文件-->

    <mappers>
        <mapper resource="com/java1234/mappers/StudentMapper.xml" />
    </mappers>
</configuration>



jdbc.properties文件:

jdbc.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
jdbc.url=jdbc:sqlserver://localhost:1433;DatabaseName=mydb
jdbc.username=sa
jdbc.password=123456


3、Java代码编写,最简单的目录


MySqlSession.java,得到 SqlSession工具类:

public class MySqlSession {

    private static SqlSessionFactory sessionFactory;
    public static SqlSessionFactory getSessionFactory() {
        if (sessionFactory==null) {
            InputStream inputStream=null;
            try {
                inputStream = Resources.getResourceAsStream("mybatis-config.xml");
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            sessionFactory=new SqlSessionFactoryBuilder().build(inputStream);
        }
        return sessionFactory;
    }
    
    public static SqlSession getSqlSession() {
        return getSessionFactory().openSession();
    }
}


StudentMapper.java,接口类,定义数据库操作类型:

public interface StudentMapper {
    
    int add(Student student);
}

StudentMapper.xml,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">
<mapper namespace="com.java1234.mappers.StudentMapper">

<!--此处的id与对应的接口类中对应的方法名相同,Student为传入的参数,是在typeAlias中定义过别名,不然需要带上包名-->
    <insert id="add" parameterType="Student"  >

<!--此处id为空,name和age分别对应Student的属性-->

        insert into student values(null,#{name},#{age})
    </insert>

</mapper>


最后测试类:

public static void main(String[] args) {

//得到SqlSession

        SqlSession session=MySqlSession.getSqlSession();

//得到相应的sql执行类

        StudentMapper studentMapper=session.getMapper(StudentMapper.class);
        Student student=new Student(2, "zhanghe", 23);

//sql执行,成功的话结果大于0

        int result=studentMapper.add(student);

//执行完需要提交

        session.commit();
    }

原创粉丝点击