MyBatis连接sqlserver

前言

记录学习历程
学习SSM框架结合时发现电脑上的数据库是sqlserver
重新学了一下MyBatis连接sqlserver

步骤

(1)创建一个普通的Java项目
导入MyBatis包和jdbc驱动
在这里插入图片描述
(2)创建属性文件jdbc.properties,将连接数据库的四个参数放入,其中url中12345是我的数据库的tcp/ip端口,database是我的数据库名,username、password登录数据库账号

driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
url=jdbc:sqlserver://127.0.0.1:12345;Database=LearnMyBatis
username=jsp
password=jsp

创建配置数据库文件conf.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"/>
    <!-- 和spring整合后 environments配置将废除-->
    <environments default="development">
        <environment id="development">
            <!-- 使用jdbc事务管理,事务控制由mybatis管理-->
            <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>
        <mapper resource="com/mapper/userMapper"/>
    </mappers>
</configuration>

将数据连接单独配置在jdbc.properties中,只需要在conf.xml中加载jdbc.properties的属性值,在conf.xml中就不需要对数据库连接参数进行硬编码。数据库连接参数只配置在jdbc.properties中,方便对参数进行统一管理
(3)创建实体类Users
注意:别创建user,user 是 关键字,如果用user作为表名使用时,sql语句应该这么写,select * from [user], 用中括号括起来。

package com.entity;

public class Users {
    private int id;
    private String name;
    private String password;

    public Users(){}
    public Users(int id, String name, String password) {
        this.id = id;
        this.name = name;
        this.password = password;
    }

    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    @Override
    public String toString() {
        return "User [id=" + id + ", name=" + name + ", password=" + password + "]";
    }


}

(4)配置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">
<mapper  namespace="com.entity.Users">
    <!-- 查询全部用户 -->
    <select id="queryUsers" resultType="com.entity.Users">
  		select * from users
  	</select>
    <!-- 按照ID查询 -->
    <select id="queryUsersId" parameterType="int" resultType="com.entity.Users">
  		select * from users  where id=#{id}
  	</select>

    <!-- 删除用户 -->
    <delete id="deleteUsers" parameterType="com.entity.Users">
  		delete  users  where id=#{id}
  	</delete>

</mapper>

(5)创建MyBatisutil工具类,放连接数据库语句

package com.util;

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 MyBatisutil {
    //创建SqlSessionFactory对象
    private static SqlSessionFactory factory;
    static{
        try {
            //获取配置文件资源
            InputStream inputStream=Resources.getResourceAsStream("conf.xml");
            //获取SqlSessionFactory对象
            factory=new SqlSessionFactoryBuilder().build(inputStream);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    /**
     * 获取SqlSession对象
     */
    public static SqlSession getSqlSession(){
        return factory.openSession();
    }

    /**
     * 关闭SqlSession对象
     */
    public static void closeSqlSession(SqlSession session){
        if(null!=session){
            //关闭Sqlsession对象
            session.close();
        }
        session=null;
    }
}

(6)创建测试类

package com.test;

import java.util.List;
import com.entity.Users;
import com.util.MyBatisutil;
import org.apache.ibatis.session.SqlSession;

public class test {

    public static void main(String[] args) {
        // 获取SqlSession对象
        SqlSession session = MyBatisutil.getSqlSession();
        // 查询全部对象
        List<Users> list = session.selectList("com.entity.Users.queryUsers");
        System.out.println(list.size());
        //查询第一个对象
        System.out.println(list.get(0));
        //关闭SqlSession对象
        MyBatisutil.closeSqlSession(session);
    }
}

(7)项目结构,结果
数据库表:
在这里插入图片描述
结构:
在这里插入图片描述
测试结果:
在这里插入图片描述

  • 5
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: MyBatis是一个持久层框架,可以用来连接和操作各种数据库,包括SQL Server。首先,需要在pom.xml文件中引入MyBatis和SQL Server JDBC驱动的相关依赖,然后在MyBatis的配置文件中配置数据库连接信息,最后编写SQL映射文件和相应的Java代码来操作数据库。 ### 回答2: MyBatis是一种基于Java编程语言的持久层框架,可以用于连接和操作各种不同类型的数据库。如果要连接SQL Server数据库,以下是使用MyBatis的步骤: 1. 确保已添加MyBatis和SQL Server数据库驱动程序的相关依赖项。可以在项目的pom.xml文件中添加以下依赖项: ``` <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>x.x.x</version> </dependency> <dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId>mssql-jdbc</artifactId> <version>x.x.x</version> </dependency> ``` 2. 在项目的配置文件中,需要配置SQL Server数据库的连接信息。可以使用以下示例配置: ``` <configuration> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/> <property name="url" value="jdbc:sqlserver://localhost:1433;databaseName=myDB"/> <property name="username" value="username"/> <property name="password" value="password"/> </dataSource> </environment> </environments> ... </configuration> ``` 在示例配置中,将驱动程序设置为SQL Server的驱动程序类,并设置数据库连接的URL、用户名和密码。 3. 创建Mapper接口和对应的SQL映射文件,用于定义SQL语句和映射关系。例如,创建一个名为"UserMapper"的Mapper接口,并编写SQL语句的映射文件"UserMapper.xml"。 4. 在Java代码中,使用SqlSessionFactoryBuilder类和配置文件来构建SqlSessionFactory实例,然后使用SqlSessionFactory实例创建SqlSession对象。可以使用以下示例代码: ``` String resource = "path/to/mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); SqlSession session = sqlSessionFactory.openSession(); ``` 在示例代码中,将mybatis-config.xml放在项目的资源文件夹中,并从中获取输入流。 5. 使用SqlSession对象执行SQL语句并获取结果。可以使用以下示例代码: ``` UserMapper mapper = session.getMapper(UserMapper.class); List<User> users = mapper.getAllUsers(); ``` 在示例代码中,将UserMapper接口的实例化对象获取到,并调用其方法来执行SQL语句并获取结果。 总结,使用MyBatis连接SQL Server数据库的步骤包括:添加相关依赖项、配置连接信息、创建Mapper接口和SQL映射文件、构建SqlSessionFactory实例、执行SQL语句。 ### 回答3: MyBatis是一种轻量级的Java持久层框架,它可以与多个关系型数据库进行连接,包括SQL Server。下面是使用MyBatis连接SQL Server的步骤: 1. 首先,需要在项目的依赖管理工具中添加MyBatis和SQL Server的相关依赖包。例如,在Maven项目中,可以在pom.xml文件中添加以下依赖: ``` <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.x.x</version> </dependency> <dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId>sqljdbc4</artifactId> <version>x.x</version> </dependency> ``` 2. 在项目的配置文件中(例如application.properties或mybatis-config.xml),添加SQL Server的连接信息。包括数据库的URL、用户名、密码等。示例配置如下: ``` # SQL Server连接信息 jdbc.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver jdbc.url=jdbc:sqlserver://localhost:1433;databaseName=mydb jdbc.username=sa jdbc.password=secret ``` 3. 创建一个MyBatis配置文件(例如mybatis-config.xml),配置数据库连接信息和映射器。示例配置如下: ``` <?xml version="1.0" encoding="UTF-8"?> <configuration> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="${jdbc.driver}"/> <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/example/mapper/MyMapper.xml"/> </mappers> </configuration> ``` 4. 创建一个映射器接口(例如com/example/mapper/MyMapper.java),并在接口中定义SQL语句的映射方法,例如: ``` public interface MyMapper { List<User> findAllUsers(); } ``` 5. 创建一个映射器文件(例如com/example/mapper/MyMapper.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.example.mapper.MyMapper"> <select id="findAllUsers" resultType="user"> SELECT * FROM users </select> </mapper> ``` 6. 在应用程序中,使用MyBatis的SqlSessionFactory和SqlSession来执行SQL语句。示例代码如下: ``` String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); try (SqlSession session = sqlSessionFactory.openSession()) { MyMapper myMapper = session.getMapper(MyMapper.class); List<User> userList = myMapper.findAllUsers(); for(User user : userList) { System.out.println(user); } } ``` 通过以上步骤,我们可以成功使用MyBatis连接SQL Server数据库并执行SQL语句。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值