使用JDBC获取和设置数据库服务器连接变量

当我打开到MySQL数据库的JDBC连接时,我想设置一些数据库服务器变量,所以例如每次建立连接时我想用这个值设置变量sqlmode: SET sql_mode=’STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,PIPES_AS_CONCAT’; 用于启用管道串连接… 我必须在查询语句中发送此参数,还是可以直接在JDBC连接上设置此参数? JDBC连接上是否有允许设置此变量的属性? 使用JDBC连接设置或检索数据库服务器变量的最佳方法是什么?

计算字符串的频率

我基本上想要搜索字符串的频率。 例如,如果我传入单词“I”,那么下面这句话中的单词的频率:“ 我去了海滩, 我看到三个人”应该是2.我已经构建了这样的方法一个文本(任意长度),由白色空格将其分割成一个数组,并循环遍历数组,搜索每个索引是否与单词匹配。 然后,我递增频率计数器并将数字作为字符串返回。 这是方法: private int freq() { String text = “I went to the beach and I saw three people”; String search = “I”; String[] splitter = text.split(“\\s+”); int counter = 0; for (int i=0; i<splitter.length; i++) { if (splitter[i]==search) { counter++; } else { } } return counter; } } 这不在方法之外: […]

如何从android studio中的库模块调用活动

我试图从我的应用程序中的库模块调用一个活动。 我一直在收到错误 android.content.ActivityNotFoundException: Unable to find explicit activity class {com.nextgis.mobile/com.nextgis.mobile.activity.MainActivity}; have you declared this activity in your AndroidManifest.xml? 我把活动称为 Intent intentGIS = new Intent(android.content.Intent.ACTION_VIEW); intentGIS.setComponent(new ComponentName(“com.nextgis.mobile”, “com.nextgis.mobile.activity.MainActivity”)); startActivity(intentGIS); 应用清单: <!– –> <!– –> 图书馆清单: <!– ~ Project: NextGIS Mobile ~ Purpose: Mobile GIS for Android. ~ Author: Dmitry Baryshnikov (aka Bishop), bishop.dev@gmail.com ~ Author: NikitaFeodonit, […]

如何在Android中附加XML文件?

我正在写一个XML文件到SD卡,我需要能够打开该XML文件并将数据附加到它。 我怎么能做到这一点? 例如,我的XML文件是: data data 2 我后来需要打开这个XML文件并向其添加一个新项: data 3 我怎样才能做到这一点?

java.lang.NumberFormatException:对于输入字符串:“”

运行此代码时: JTextField ansTxt; … ansTxt = new JTextField(5); String aString = ansTxt.getText(); int aInt = Integer.parseInt(aString); 为什么我会收到此错误? 线程“AWT-EventQueue-0”中的exceptionjava.lang.NumberFormatException:对于输入字符串:“” 更新: JTextField ansTxt; ansTxt = new JTextField(5); ansTxt.addKeyListener(new KeyAdapter() { public void keyReleased(KeyEvent e) { ansTxt = (JTextField) e.getSource(); String aString = ansTxt.getText().trim(); int aInt = Integer.parseInt(aString); } }

由于公共私人领域的矛盾,使用Junit @Rule的CdiUnit测试是不可能的

以下代码段足以重现我的问题: 我将thrown属性设置为public并获取错误org.jboss.weld.exceptions.DefinitionException: WELD-000075: Normal scoped managed bean implementation class has a public field 或者我删除public修饰符并获取错误org.junit.internal.runners.rules.ValidationError: The @Rule ‘thrown’ must be public. 我还试图让public修饰符到位,并在类上添加@Dependent注释范围,但得到错误org.jboss.weld.exceptions.DefinitionException: WELD-000046: At most one scope may be specified on [EnhancedAnnotatedTypeImpl] public @Dependent @ApplicationScoped @RunWith 我删除了所有不必要的代码,但这是一个非常复杂的unit testing,通过CDI进行模拟,服务注入,并且一些测试方法预计会引发exception。 import org.jglue.cdiunit.CdiRunner; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; import org.junit.runner.RunWith; @RunWith(CdiRunner.class) public class FooBarTest { @Rule public ExpectedException […]

如何在Tomcat中初始化Web应用程序

我使用的是websphere应用服务器,它提供了一个平台初始化监听器,当应用程序启动时会调用该监听器。 现在,我正在使用Tomcat,但还没有找到这样的东西,而我正在尝试做的是在应用程序开始提供请求之前做一些初始化工作。 Tomcat应该怎么做?

SwingWorker,未调用done()方法

这只是SwingWorker的一个实现: class GuiWorker extends SwingWorker { private JFrame frame = new JFrame(); private JDialog dialog = new JDialog(frame, “Loadin data”, true); private JProgressBar progressBar = new JProgressBar(); private Statistics st = new Statistics(); public GuiWorker(GraphEditor editor, Statistics st) { this.st = st; Window mainWindow = SwingUtilities.windowForComponent(editor .getGraphComponent().getParent()); dialog.setSize(400, 200); int x = mainWindow.getX() + (mainWindow.getWidth() […]

如何配置@ComponentScan动态?

@ComponentScan( //CS1 basePackages = {“com.package.A”, “com.package.B”}, excludeFilters = @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, value = {com.Package.A.SomeClass.class }) ) @ComponentScan( //CS2 basePackages = { “com.package.A”} ) @EnableAutoConfiguration @SpringBootApplication public class Application { public static void main(String[] args) throws Exception { ConfigurableApplicationContext ctx = SpringApplication.run(Application.class, args); } } 上面是我的SpringBootApplication的主类。 如您所见,我必须使用Annnotation,而不是xml 。 有两个@ComponentScan Annotations.And当然不允许使用它。 对我来说,两个不同的@ComponentScan意味着启动我的应用程序的两种不同方式。 如果我选择使用CS1(意思是@ ComponentScan1),我就会评论CS2,反之亦然。 它不优雅或优雅。特别适合那些为spring新手。 所以我想知道如何根据我的.properties文件将其配置为动态 。例如我的.properties文件中名为“isScanA”的param是真的,那么我可以使用CS1。 […]

如何在Java 8中找到N个数字中最大的M个数字?

IntStream可能是最简单的方法,但我只能选择最小的M数,如下所示: public class Test { private static final int[] arr = {5, 3, 4, 2, 9, 1, 7, 8, 6}; public static void main(String[] args) throws Exception { System.out.println(Arrays.asList(IntStream.of(arr).sorted().limit(5).boxed().toArray())); } } 顺便说一句,考虑到算法的复杂性并假设N >> M,“排序+限制”方法只有O(N log(N))的复杂度。 我认为最好的复杂性可能达到O(N log(M)),但我不知道Java 8是否有这种流方法或收集器。