单独使用mybatis

1单独使用mybatis

1配置日志

所需jar:

log4j-1.2.17.jar
slf4j-api-1.7.25.jar
slf4j-log4j12-1.7.25.jar

log4j.properties

log4j.rootLogger=DEBUG,A1
log4j.logger.org.apache=DEBUG
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c]-[%p] %m%n

2配置mybatis

mybatis-config.xml



<configuration>
    <properties>
        <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
        
        <property name="url" value="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC"/>
        <property name="username" value="root"/>
        <property name="password" value="toor"/>
    properties>
    <environments default="development">
        <environment id="development">
            
            <transactionManager type="JDBC"/>
            <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>
        <package name="wwj.spirng.mybatis" />
    mappers>
configuration>

3例子

MybatisExample.java

package wwj.spirng.mybatis;

import java.io.IOException;
import java.io.InputStream;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

public class MybatisExample {

	@org.junit.Test
	public void test() throws IOException {
		
		
		String resource = "mybatis-config.xml";
		InputStream resourceAsStream = Resources.getResourceAsStream(resource);
		SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
		/*
		SqlSessionFactory 一旦被创建就应该在应用的运行期间一直存在,没有任何理由丢弃它或重新创建另一个实例。
		使用 SqlSessionFactory 的最佳实践是在应用运行期间不要重复创建多次,
		多次重建 SqlSessionFactory 被视为一种代码“坏习惯”。
		最简单的就是使用单例模式或者静态单例模式。
		 */
		SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(resourceAsStream);
		/*
		每个线程都应该有它自己的 SqlSession 实例。
		SqlSession 的实例不是线程安全的,因此是不能被共享的每个线程都应该有它自己的 SqlSession 实例。
		SqlSession 的实例不是线程安全的,因此是不能被共享的
		 */
		SqlSession sqlSession = sqlSessionFactory.openSession();
		SqlMapper mapper = sqlSession.getMapper(SqlMapper.class);
		int xiaoming = mapper.addUser("xiaoming");
		System.out.println(xiaoming);
		sqlSession.commit();//不用此句,数据库中是不会改变的
	}
}

SqlMapper.java

package wwj.spirng.mybatis;

import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;

public interface SqlMapper {

    @Insert("insert into user(username)values(#{username})")
    int addUser(@Param("username") String username);
}

你可能感兴趣的:(单独使用mybatis)