Java教程

mybatis拼接sql--单个字面量

本文主要是介绍mybatis拼接sql--单个字面量,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

mybatis拼接sql--单个字面量

jdbc接受和拼接单个字面量

1.字符串拼接
    public void testJDBC_pingjiefangshi() throws SQLException {
//        字符串拼接方式
//        select * from t_user where username = 'jack'
//        有两个问题:
                1.单引号需要手动加上  
                2.sql注入
        String sql ="select * from t_user where username = 'jack'";
        Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mybatis","root","123456");
        connection.prepareStatement(sql);
    }
2.占位符赋值
public void testJDBC_zhanweifufuzhi() throws SQLException {
    String sql = "select * from t_user where username = ?";
    Connection root = DriverManager.getConnection("jdbc:mysql://localhost:3306/mybatis", "root", "123456");
    PreparedStatement preparedStatement = root.prepareStatement(sql);
    preparedStatement.setString(1,"jack");
}

在mybatis中接受和拼接单个字面量

1.获取参数
public interface UserMapper {
    void deleteUser();
    void updateUser();
    void insertUser();
    List<User> selectUser();
    void test(String username);
}
void test(String username);    调用的时候传入

 

2.mapper映射文件中参数接受和拼接
2.1 ${}的方式进行接受和拼接

接受:随便什么名字都可以,是按形参的顺序进行接受的,但是为了键明实意,直接与形参名一样就行,不一样也不是不可以;

拼接:${}对应的就是jdbc原生两种方法中的拼接字符串方法,要注意凭借之后是不带单引号的,一定要在拼接之前加上;

<select id="test" resultType="User">
    select * from t_user where username = '${username}'
</select>
2.2 #{}的方式进行接受和拼接

接受:同上,随便啥名字都行,按照形参顺序接受

拼接:#{}对应jdbc中的占位符赋值方法,没啥要注意的

<select id="test" resultType="User">
    select * from t_user where username = #{username};
</select>
这篇关于mybatis拼接sql--单个字面量的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!