学习笔记:spring+mybatis连接数据库操作步骤

使用idea开发工具,maven项目,配置maven的路径:

一,配置pom.xml文件,导入所需要的包

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.bdqn</groupId>
    <artifactId>stringmybatisdemo</artifactId>
    <version>1.0-SNAPSHOT</version>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.10</version>
        </dependency>
        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.2</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>3.2.13.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>3.2.13.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>3.2.13.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>3.2.13.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.21</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.2.2</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>1.2.0</version>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.12</version>
        </dependency>
        <dependency>
            <groupId>commons-dbcp</groupId>
            <artifactId>commons-dbcp</artifactId>
            <version>1.4</version>
        </dependency>
        <dependency>
            <groupId>commons-pool</groupId>
            <artifactId>commons-pool</artifactId>
            <version>1.6</version>
        </dependency>


    </dependencies>

    <build>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
            </resource>
        </resources>
    </build>



</project>

二,先在cn.bdqn.entity包中创建一个实体类Tuser,并封装。

public class Tuser {
    private Integer id;
    private String userName,password,nickName;

    @Override
    public String toString() {
        return "Tuser{" +
                "id=" + id +
                ", userName='" + userName + '\'' +
                ", password='" + password + '\'' +
                ", nickName='" + nickName + '\'' +
                '}';
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer 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 String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }
}

三,在cn.bdqn.dao中创建一个接口TuserMapper,在其中写一个查询所有用户信息的方法:

public interface TuserMapper {
    List<Tuser> queryAllTuser();
}

在cn.bdqn.dao中创建一个与接口同名的mapper映射文件,配置实体和数据库的映射,然后定义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">
<!--namespace命名空间:用于绑定dao接口-->
<mapper namespace="cn.bdqn.dao.TuserMapper">
    <resultMap id="TuserMap" type="Tuser">
        <id property="id" column="id"/>
        <result property="userName" column="user_name"/>
        <result property="password" column="password"/>
        <result property="nickName" column="nick_name"/>
    </resultMap>

    <select id="queryAllTuser" resultMap="TuserMap">
        SELECT * FROM t_user
    </select>
</mapper>

在cn.bdqn.dao中创建接口的实现类。SqlSessionTemplate实现了SqlSession接口,也就是说可以通过SqlSessionTemplate来实现对数据库的操作,而且SqlSessionTemplate是线程安全的,可以被多个到共享使用。

public class TuserMapperImpl implements TuserMapper {
    //SqlSessionTemplate相当于SqlSession
    private SqlSessionTemplate sqlSessionTemplate;

    public SqlSessionTemplate getSqlSessionTemplate() {
        return sqlSessionTemplate;
    }

    public void setSqlSessionTemplate(SqlSessionTemplate sqlSessionTemplate) {
        this.sqlSessionTemplate = sqlSessionTemplate;
    }

    @Override
    public List<Tuser> queryAllTuser() {
        List<Tuser> list = new ArrayList<>();
        list = sqlSessionTemplate.selectList("cn.bdqn.dao.TuserMapper.queryAllTuser");
        return list;
    }
}

四,在cn.bdqn.service中创建TuserService接口;与TuserMapper对应

public interface TuserService {
    List<Tuser> queryAllTuser();
}

创建TuserService接口的实现类

@Service("tuserService")
public class TuserServiceImpl implements TuserService {
    @Autowired
    private TuserMapper tuserMapper;

    @Override
    public List<Tuser> queryAllTuser() {
        return tuserMapper.queryAllTuser();
    }
}

五,在resources创建mybatis文件

<?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>
    <!--导入log4j日志文件-->
    <settings>
        <setting name="logImpl" value="LOG4J"/>
    </settings>
    <!--配置别名-->
    <typeAliases>
        <package name="cn.bdqn.entity"/>
    </typeAliases>

</configuration>
六,在resources创建applicationContext.xml配置文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans 
       http://www.springframework.org/schema/beans/spring-beans.xsd 
       http://www.springframework.org/schema/context 
       http://www.springframework.org/schema/context/spring-context.xsd">

    <!--数据库配置-->
    <context:property-placeholder location="classpath:database.properties"></context:property-placeholder>
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
        <property name="driverClassName" value="${jdbc.driver}"></property>
        <property name="url" value="${jdbc.url}"/>
        <property name="username" value="${jdbc.username}"></property>
        <property name="password" value="${jdbc.password}"/>
    </bean>
    <!--配置数据库信息,config文件信息,mapper映射文件信息-->
    <bean id="sqlSessionFactoryBean" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"></property>
        <property name="configLocation" value="classpath:mybatis-config.xml"></property>
        <property name="mapperLocations">
            <list>
                <value>classpath*:cn/bdqn/dao/*.xml</value>
            </list>
        </property>
    </bean>

    <!--业务逻辑bean:扫描 cn.bdqn.service 包中的注解-->
    <context:component-scan base-package="cn.bdqn.service"></context:component-scan>

    <!--dao配置-->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="cn.bdqn.dao"></property>
    </bean>

</beans>

七,编写测试类

public class test {

    @Test
    public void queryAllTUser() throws Exception {
        ApplicationContext applicationContext
                =new ClassPathXmlApplicationContext
                ("applicationContext.xml");
        TuserService tuserService
                =(TuserServiceImpl)applicationContext.getBean("tuserService");
        List<Tuser> list=tuserService.queryAllTuser();
        if (null != list) {
            for (Tuser tUser : list) {
                System.out.println(tUser);
            }
        }
    }
}

猜你喜欢

转载自blog.csdn.net/Dong_Can/article/details/79985255
今日推荐