先做个总计:
1.mybitis的调用是从new SqlSessionFactoryBuilder().build(Resources.getResourceAsStream("mybatis-config.xml")) 开始2.随后则可以调用 sqlSessionFactory.openSession() 创建一个 sqlSession用于调用相应的mapper
3.session.insert("指定的Mapper空间.方法", 传入参数);
----------- 需要的相应配置 ---------------------
4.在配置xml中配置环境、指明数据源,指定持久化映射地址。
5.关于Mapper,定义在一个xml文件中,使用namespace属性界定Mapper命名空间,便于session调用方法时识别,同时也必须定义方法,方法类型insert\update\select,以及方法ID。
关键步骤
1.引入mybatis 的jar,maven可直接repository
辅助引入log4j 。好像这个mybatis默认的日志输出起,必须设置log4j,文件名log4j.properties。内容
# Global logging configuration log4j.rootLogger=ERROR, stdout # MyBatis logging configuration... log4j.logger.org.fkit.mapper.UserMapper=DEBUG # Console output... log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
2.配置mybatis-config.xml,名字保持这个把,生成后在classes目录下。其中主要部分:配置连接;配置映射文件
<?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"> <!-- XML 配置文件包含对 MyBatis 系统的核心设置 --> <configuration> <!-- 指定 MyBatis 所用日志的具体实现 --> <!--<settings>--> <!--<setting name="logImpl" value="LOG4J"/>--> <!--</settings>--> <environments default="mysql"> <!-- 默认, mysql在下面配置 --> <!-- 环境配置,即连接的数据库。 --> <environment id="mysql"> <!-- 默认 --> <!-- 指定事务管理类型,type="JDBC"指直接简单使用了JDBC的提交和回滚设置 --> <transactionManager type="JDBC"/> <!-- dataSource指数据源配置,POOLED是JDBC连接对象的数据源连接池的实现。 --> <dataSource type="POOLED"> <!--property name="driver" value="com.mysql.jdbc.Driver"/--> <!-- mysql --> <!--property name="url" value="jdbc:mysql://127.0.0.1:3306/mybatisDB"/--> <!-- mysql --> <property name="driver" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/> <!-- sql servser --> <property name="url" value="jdbc:sqlserver://localhost:1433;databaseName=mybatisDB"/> <!-- sql servser --> <property name="username" value="sa"/> <property name="password" value="pwd"/> </dataSource> </environment> </environments> <!-- mappers告诉了MyBatis去哪里找持久化类的映射文件 --> <mappers> <mapper resource="org/fkit/mapper/UserMapper.xml"/> </mappers> </configuration>
3.配置映射文件。路径与上面的org/fkit/mapper/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指用户自定义的命名空间。 --> <mapper namespace="org.fkit.mapper.UserMapper"> <!-- id="save"是唯一的标示符 parameterType属性指明插入时使用的参数类型 useGeneratedKeys="true"表示使用数据库的自动增长策略 --> <insert id="save" parameterType="org.fkit.domain.User" useGeneratedKeys="true"> INSERT INTO TB_USER(name,sex,age) VALUES(#{name},#{sex},#{age}) </insert> </mapper>4.调用
public static void main(String[] args) throws Exception { // 读取mybatis-config.xml文件 InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml"); // 初始化mybatis,创建SqlSessionFactory类的实例 SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder() .build(inputStream); // 创建Session实例 SqlSession session = sqlSessionFactory.openSession(); // 创建User对象 User user = new User("admin", "男", 26); // 插入数据 session.insert("org.fkit.mapper.UserMapper.save", user); // 提交事务 session.commit(); // 关闭Session session.close(); }
文件目录结构: